@aztec/stdlib 0.0.1-commit.e558bd1c → 0.0.1-commit.e57c76e

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 (1040) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/contract_artifact.d.ts +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +14 -7
  12. package/dest/abi/decoder.d.ts +6 -45
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +17 -70
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +64 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +22 -10
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +20 -3
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +14 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +16 -1
  44. package/dest/auth_witness/auth_witness.d.ts +2 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/auth_witness/auth_witness.js +3 -3
  47. package/dest/avm/avm.d.ts +1756 -10463
  48. package/dest/avm/avm.d.ts.map +1 -1
  49. package/dest/avm/avm.js +6 -3
  50. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  51. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  52. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  53. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  54. package/dest/avm/avm_proving_request.d.ts +653 -5446
  55. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  56. package/dest/avm/message_pack.js +12 -3
  57. package/dest/avm/public_data_write.d.ts +6 -12
  58. package/dest/avm/public_data_write.d.ts.map +1 -1
  59. package/dest/avm/revert_code.d.ts +6 -7
  60. package/dest/avm/revert_code.d.ts.map +1 -1
  61. package/dest/avm/revert_code.js +13 -21
  62. package/dest/aztec-address/index.d.ts +8 -8
  63. package/dest/aztec-address/index.d.ts.map +1 -1
  64. package/dest/aztec-address/index.js +9 -6
  65. package/dest/block/attestation_info.d.ts +3 -2
  66. package/dest/block/attestation_info.d.ts.map +1 -1
  67. package/dest/block/attestation_info.js +7 -5
  68. package/dest/block/block_data.d.ts +27 -0
  69. package/dest/block/block_data.d.ts.map +1 -0
  70. package/dest/block/block_data.js +12 -0
  71. package/dest/block/block_hash.d.ts +11 -10
  72. package/dest/block/block_hash.d.ts.map +1 -1
  73. package/dest/block/block_hash.js +10 -9
  74. package/dest/block/block_parameter.d.ts +37 -4
  75. package/dest/block/block_parameter.d.ts.map +1 -1
  76. package/dest/block/block_parameter.js +53 -2
  77. package/dest/block/in_block.d.ts +5 -24
  78. package/dest/block/in_block.d.ts.map +1 -1
  79. package/dest/block/index.d.ts +2 -2
  80. package/dest/block/index.d.ts.map +1 -1
  81. package/dest/block/index.js +1 -1
  82. package/dest/block/l2_block.d.ts +21 -41
  83. package/dest/block/l2_block.d.ts.map +1 -1
  84. package/dest/block/l2_block.js +12 -2
  85. package/dest/block/l2_block_info.d.ts +10 -29
  86. package/dest/block/l2_block_info.d.ts.map +1 -1
  87. package/dest/block/l2_block_info.js +6 -5
  88. package/dest/block/l2_block_source.d.ts +216 -338
  89. package/dest/block/l2_block_source.d.ts.map +1 -1
  90. package/dest/block/l2_block_source.js +67 -1
  91. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  92. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  94. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/l2_block_stream.js +49 -12
  96. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  97. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  98. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  99. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  100. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  101. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  102. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  103. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  104. package/dest/block/proposal/attestations_and_signers.js +26 -18
  105. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  106. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  107. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  108. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  109. package/dest/block/test/l2_tips_store_test_suite.js +5 -4
  110. package/dest/checkpoint/checkpoint.d.ts +48 -99
  111. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  112. package/dest/checkpoint/checkpoint.js +41 -17
  113. package/dest/checkpoint/checkpoint_data.d.ts +97 -0
  114. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  115. package/dest/checkpoint/checkpoint_data.js +38 -0
  116. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  117. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  118. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  119. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  120. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  121. package/dest/checkpoint/digest.d.ts +18 -0
  122. package/dest/checkpoint/digest.d.ts.map +1 -0
  123. package/dest/checkpoint/digest.js +12 -0
  124. package/dest/checkpoint/index.d.ts +6 -1
  125. package/dest/checkpoint/index.d.ts.map +1 -1
  126. package/dest/checkpoint/index.js +5 -0
  127. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  128. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  129. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  130. package/dest/checkpoint/published_checkpoint.d.ts +53 -190
  131. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  132. package/dest/checkpoint/published_checkpoint.js +1 -2
  133. package/dest/checkpoint/validate.d.ts +36 -0
  134. package/dest/checkpoint/validate.d.ts.map +1 -0
  135. package/dest/checkpoint/validate.js +120 -0
  136. package/dest/config/chain-config.d.ts +4 -9
  137. package/dest/config/chain-config.d.ts.map +1 -1
  138. package/dest/config/chain-config.js +13 -12
  139. package/dest/config/index.d.ts +2 -1
  140. package/dest/config/index.d.ts.map +1 -1
  141. package/dest/config/index.js +1 -0
  142. package/dest/config/sequencer-config.d.ts +14 -0
  143. package/dest/config/sequencer-config.d.ts.map +1 -0
  144. package/dest/config/sequencer-config.js +38 -0
  145. package/dest/contract/complete_address.d.ts +3 -2
  146. package/dest/contract/complete_address.d.ts.map +1 -1
  147. package/dest/contract/complete_address.js +6 -2
  148. package/dest/contract/contract_address.d.ts +6 -6
  149. package/dest/contract/contract_address.d.ts.map +1 -1
  150. package/dest/contract/contract_address.js +9 -8
  151. package/dest/contract/contract_class.d.ts +2 -3
  152. package/dest/contract/contract_class.d.ts.map +1 -1
  153. package/dest/contract/contract_class_id.d.ts +3 -3
  154. package/dest/contract/contract_class_id.d.ts.map +1 -1
  155. package/dest/contract/contract_class_id.js +7 -6
  156. package/dest/contract/contract_deployment_data.d.ts +15 -61
  157. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  158. package/dest/contract/contract_instance.d.ts +4 -2
  159. package/dest/contract/contract_instance.d.ts.map +1 -1
  160. package/dest/contract/contract_instance.js +10 -3
  161. package/dest/contract/index.d.ts +1 -3
  162. package/dest/contract/index.d.ts.map +1 -1
  163. package/dest/contract/index.js +0 -2
  164. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  165. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  166. package/dest/contract/interfaces/contract_class.js +1 -28
  167. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  168. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  169. package/dest/contract/interfaces/contract_instance.js +4 -2
  170. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  171. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  172. package/dest/contract/interfaces/node-info.d.ts +3 -1
  173. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  174. package/dest/contract/interfaces/node-info.js +2 -1
  175. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  176. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  177. package/dest/contract/private_function.d.ts +1 -1
  178. package/dest/contract/private_function.d.ts.map +1 -1
  179. package/dest/contract/private_function.js +4 -6
  180. package/dest/database-version/database_version.d.ts +5 -11
  181. package/dest/database-version/database_version.d.ts.map +1 -1
  182. package/dest/database-version/version_manager.d.ts +6 -2
  183. package/dest/database-version/version_manager.d.ts.map +1 -1
  184. package/dest/database-version/version_manager.js +12 -1
  185. package/dest/epoch-helpers/index.d.ts +14 -18
  186. package/dest/epoch-helpers/index.d.ts.map +1 -1
  187. package/dest/epoch-helpers/index.js +18 -2
  188. package/dest/file-store/factory.d.ts +4 -3
  189. package/dest/file-store/factory.d.ts.map +1 -1
  190. package/dest/file-store/factory.js +2 -2
  191. package/dest/file-store/http.d.ts +9 -2
  192. package/dest/file-store/http.d.ts.map +1 -1
  193. package/dest/file-store/http.js +20 -9
  194. package/dest/file-store/index.d.ts +2 -1
  195. package/dest/file-store/index.d.ts.map +1 -1
  196. package/dest/file-store/local.d.ts +3 -3
  197. package/dest/file-store/local.d.ts.map +1 -1
  198. package/dest/file-store/local.js +13 -4
  199. package/dest/file-store/s3.d.ts +1 -1
  200. package/dest/file-store/s3.d.ts.map +1 -1
  201. package/dest/file-store/s3.js +11 -3
  202. package/dest/gas/fee_math.d.ts +49 -0
  203. package/dest/gas/fee_math.d.ts.map +1 -0
  204. package/dest/gas/fee_math.js +80 -0
  205. package/dest/gas/gas.d.ts +9 -14
  206. package/dest/gas/gas.d.ts.map +1 -1
  207. package/dest/gas/gas.js +6 -3
  208. package/dest/gas/gas_fees.d.ts +13 -14
  209. package/dest/gas/gas_fees.d.ts.map +1 -1
  210. package/dest/gas/gas_fees.js +20 -4
  211. package/dest/gas/gas_settings.d.ts +66 -86
  212. package/dest/gas/gas_settings.d.ts.map +1 -1
  213. package/dest/gas/gas_settings.js +56 -9
  214. package/dest/gas/index.d.ts +2 -1
  215. package/dest/gas/index.d.ts.map +1 -1
  216. package/dest/gas/index.js +1 -0
  217. package/dest/ha-signing/config.d.ts +72 -0
  218. package/dest/ha-signing/config.d.ts.map +1 -0
  219. package/dest/ha-signing/config.js +88 -0
  220. package/dest/ha-signing/index.d.ts +4 -0
  221. package/dest/ha-signing/index.d.ts.map +1 -0
  222. package/dest/ha-signing/index.js +3 -0
  223. package/dest/ha-signing/local_config.d.ts +32 -0
  224. package/dest/ha-signing/local_config.d.ts.map +1 -0
  225. package/dest/ha-signing/local_config.js +24 -0
  226. package/dest/ha-signing/types.d.ts +90 -0
  227. package/dest/ha-signing/types.d.ts.map +1 -0
  228. package/dest/ha-signing/types.js +39 -0
  229. package/dest/hash/hash.d.ts +35 -1
  230. package/dest/hash/hash.d.ts.map +1 -1
  231. package/dest/hash/hash.js +78 -11
  232. package/dest/hash/map_slot.js +2 -2
  233. package/dest/interfaces/allowed_element.d.ts +17 -35
  234. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  235. package/dest/interfaces/allowed_element.js +8 -8
  236. package/dest/interfaces/api_limit.d.ts +1 -1
  237. package/dest/interfaces/api_limit.js +1 -1
  238. package/dest/interfaces/archiver.d.ts +22 -32
  239. package/dest/interfaces/archiver.d.ts.map +1 -1
  240. package/dest/interfaces/archiver.js +215 -65
  241. package/dest/interfaces/aztec-node-admin.d.ts +105 -263
  242. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  243. package/dest/interfaces/aztec-node-admin.js +66 -17
  244. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  245. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  246. package/dest/interfaces/aztec-node-debug.js +21 -0
  247. package/dest/interfaces/aztec-node.d.ts +115 -106
  248. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  249. package/dest/interfaces/aztec-node.js +311 -68
  250. package/dest/interfaces/block-builder.d.ts +41 -12
  251. package/dest/interfaces/block-builder.d.ts.map +1 -1
  252. package/dest/interfaces/block-builder.js +13 -6
  253. package/dest/interfaces/block_response.d.ts +90 -0
  254. package/dest/interfaces/block_response.d.ts.map +1 -0
  255. package/dest/interfaces/block_response.js +30 -0
  256. package/dest/interfaces/chain_tips.d.ts +50 -0
  257. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  258. package/dest/interfaces/chain_tips.js +11 -0
  259. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  260. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  261. package/dest/interfaces/checkpoint_parameter.js +18 -0
  262. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  263. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  264. package/dest/interfaces/checkpoint_response.js +26 -0
  265. package/dest/interfaces/client.d.ts +8 -2
  266. package/dest/interfaces/client.d.ts.map +1 -1
  267. package/dest/interfaces/client.js +7 -1
  268. package/dest/interfaces/configs.d.ts +73 -117
  269. package/dest/interfaces/configs.d.ts.map +1 -1
  270. package/dest/interfaces/configs.js +18 -3
  271. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  272. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  273. package/dest/interfaces/l1_publish_info.js +26 -0
  274. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  275. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  276. package/dest/interfaces/l2_logs_source.js +5 -0
  277. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  278. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  279. package/dest/interfaces/p2p-bootstrap.js +8 -2
  280. package/dest/interfaces/p2p.d.ts +17 -12
  281. package/dest/interfaces/p2p.d.ts.map +1 -1
  282. package/dest/interfaces/p2p.js +28 -5
  283. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  284. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  285. package/dest/interfaces/prover-agent.d.ts +5 -23
  286. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  287. package/dest/interfaces/prover-agent.js +4 -1
  288. package/dest/interfaces/prover-client.d.ts +9 -25
  289. package/dest/interfaces/prover-client.d.ts.map +1 -1
  290. package/dest/interfaces/prover-client.js +7 -4
  291. package/dest/interfaces/prover-node.js +22 -8
  292. package/dest/interfaces/proving-job-source.js +24 -4
  293. package/dest/interfaces/proving-job.d.ts +742 -5793
  294. package/dest/interfaces/proving-job.d.ts.map +1 -1
  295. package/dest/interfaces/proving-job.js +1 -1
  296. package/dest/interfaces/public_storage_override.d.ts +22 -0
  297. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  298. package/dest/interfaces/public_storage_override.js +7 -0
  299. package/dest/interfaces/server.d.ts +6 -1
  300. package/dest/interfaces/server.d.ts.map +1 -1
  301. package/dest/interfaces/server.js +5 -0
  302. package/dest/interfaces/slasher.d.ts +26 -62
  303. package/dest/interfaces/slasher.d.ts.map +1 -1
  304. package/dest/interfaces/slasher.js +9 -4
  305. package/dest/interfaces/tx_provider.d.ts +6 -1
  306. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  307. package/dest/interfaces/validator.d.ts +74 -201
  308. package/dest/interfaces/validator.d.ts.map +1 -1
  309. package/dest/interfaces/validator.js +15 -5
  310. package/dest/interfaces/world_state.d.ts +6 -5
  311. package/dest/interfaces/world_state.d.ts.map +1 -1
  312. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  313. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  314. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  315. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  316. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  317. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  318. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  319. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  320. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  321. package/dest/kernel/hints/index.d.ts +2 -2
  322. package/dest/kernel/hints/index.js +2 -2
  323. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  324. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  325. package/dest/kernel/hints/key_validation_request.js +20 -18
  326. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  327. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  328. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  329. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  330. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  331. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  332. package/dest/kernel/index.d.ts +5 -1
  333. package/dest/kernel/index.d.ts.map +1 -1
  334. package/dest/kernel/index.js +4 -0
  335. package/dest/kernel/log_hash.d.ts +6 -2
  336. package/dest/kernel/log_hash.d.ts.map +1 -1
  337. package/dest/kernel/log_hash.js +21 -9
  338. package/dest/kernel/private_circuit_public_inputs.d.ts +10 -10
  339. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  340. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  341. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +4 -4
  342. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  343. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  344. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  345. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  346. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  347. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  348. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  349. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  350. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  351. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  352. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  353. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  354. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  355. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  356. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  357. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  358. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  359. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  360. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  361. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
  362. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  363. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
  364. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  365. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  366. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  367. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  368. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  369. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  370. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
  371. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  372. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
  373. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  374. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  375. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  376. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
  377. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  378. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
  379. package/dest/kernel/private_validation_requests.d.ts +3 -3
  380. package/dest/kernel/private_validation_requests.js +9 -9
  381. package/dest/kernel/public_call_request.d.ts +15 -30
  382. package/dest/kernel/public_call_request.d.ts.map +1 -1
  383. package/dest/kernel/public_call_request.js +16 -7
  384. package/dest/keys/derivation.d.ts +6 -2
  385. package/dest/keys/derivation.d.ts.map +1 -1
  386. package/dest/keys/derivation.js +21 -11
  387. package/dest/keys/key_types.d.ts +3 -3
  388. package/dest/keys/key_types.d.ts.map +1 -1
  389. package/dest/keys/public_key.d.ts +22 -3
  390. package/dest/keys/public_key.d.ts.map +1 -1
  391. package/dest/keys/public_key.js +20 -1
  392. package/dest/keys/public_keys.d.ts +55 -82
  393. package/dest/keys/public_keys.d.ts.map +1 -1
  394. package/dest/keys/public_keys.js +102 -74
  395. package/dest/keys/utils.js +5 -5
  396. package/dest/kv-store/config.d.ts +14 -0
  397. package/dest/kv-store/config.d.ts.map +1 -0
  398. package/dest/kv-store/config.js +21 -0
  399. package/dest/kv-store/index.d.ts +2 -0
  400. package/dest/kv-store/index.d.ts.map +1 -0
  401. package/dest/kv-store/index.js +1 -0
  402. package/dest/l1-contracts/index.d.ts +2 -2
  403. package/dest/l1-contracts/index.d.ts.map +1 -1
  404. package/dest/l1-contracts/index.js +1 -1
  405. package/dest/logs/app_tagging_secret.d.ts +46 -0
  406. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  407. package/dest/logs/app_tagging_secret.js +109 -0
  408. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  409. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  410. package/dest/logs/app_tagging_secret_kind.js +17 -0
  411. package/dest/logs/contract_class_log.d.ts +16 -34
  412. package/dest/logs/contract_class_log.d.ts.map +1 -1
  413. package/dest/logs/contract_class_log.js +11 -9
  414. package/dest/logs/debug_log_store.d.ts +30 -0
  415. package/dest/logs/debug_log_store.d.ts.map +1 -0
  416. package/dest/logs/debug_log_store.js +30 -0
  417. package/dest/logs/index.d.ts +9 -7
  418. package/dest/logs/index.d.ts.map +1 -1
  419. package/dest/logs/index.js +8 -6
  420. package/dest/logs/log_cursor.d.ts +51 -0
  421. package/dest/logs/log_cursor.d.ts.map +1 -0
  422. package/dest/logs/log_cursor.js +82 -0
  423. package/dest/logs/log_result.d.ts +54 -0
  424. package/dest/logs/log_result.d.ts.map +1 -0
  425. package/dest/logs/log_result.js +56 -0
  426. package/dest/logs/logs_query.d.ts +82 -0
  427. package/dest/logs/logs_query.d.ts.map +1 -0
  428. package/dest/logs/logs_query.js +50 -0
  429. package/dest/logs/message_context.d.ts +6 -8
  430. package/dest/logs/message_context.d.ts.map +1 -1
  431. package/dest/logs/message_context.js +27 -9
  432. package/dest/logs/pending_tagged_log.d.ts +2 -3
  433. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  434. package/dest/logs/pending_tagged_log.js +2 -2
  435. package/dest/logs/pre_tag.d.ts +14 -22
  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 +8 -13
  439. package/dest/logs/private_log.d.ts.map +1 -1
  440. package/dest/logs/private_log.js +6 -3
  441. package/dest/logs/public_log.d.ts +4 -3
  442. package/dest/logs/public_log.d.ts.map +1 -1
  443. package/dest/logs/public_log.js +2 -1
  444. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  445. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  446. package/dest/logs/query_all_logs_by_tags.js +64 -0
  447. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  448. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  449. package/dest/logs/shared_secret_derivation.js +15 -9
  450. package/dest/logs/siloed_tag.d.ts +12 -9
  451. package/dest/logs/siloed_tag.d.ts.map +1 -1
  452. package/dest/logs/siloed_tag.js +18 -7
  453. package/dest/logs/tag.d.ts +5 -6
  454. package/dest/logs/tag.d.ts.map +1 -1
  455. package/dest/logs/tag.js +5 -1
  456. package/dest/logs/tagging_index_range.d.ts +22 -0
  457. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  458. package/dest/logs/tagging_index_range.js +8 -0
  459. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  460. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  461. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  462. package/dest/messaging/index.d.ts +2 -1
  463. package/dest/messaging/index.d.ts.map +1 -1
  464. package/dest/messaging/index.js +1 -0
  465. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  466. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  467. package/dest/messaging/l1_to_l2_message.js +11 -13
  468. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  469. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  470. package/dest/messaging/l2_to_l1_membership.d.ts +72 -9
  471. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  472. package/dest/messaging/l2_to_l1_membership.js +133 -30
  473. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  474. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  475. package/dest/messaging/l2_to_l1_message.js +21 -12
  476. package/dest/noir/index.d.ts +5 -3
  477. package/dest/noir/index.d.ts.map +1 -1
  478. package/dest/note/index.d.ts +1 -2
  479. package/dest/note/index.d.ts.map +1 -1
  480. package/dest/note/index.js +0 -1
  481. package/dest/note/note.d.ts +2 -2
  482. package/dest/note/note.d.ts.map +1 -1
  483. package/dest/note/note_dao.d.ts +1 -1
  484. package/dest/note/note_dao.d.ts.map +1 -1
  485. package/dest/note/note_dao.js +1 -4
  486. package/dest/p2p/attestation_utils.d.ts +11 -1
  487. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  488. package/dest/p2p/attestation_utils.js +45 -0
  489. package/dest/p2p/block_proposal.d.ts +32 -15
  490. package/dest/p2p/block_proposal.d.ts.map +1 -1
  491. package/dest/p2p/block_proposal.js +58 -42
  492. package/dest/p2p/checkpoint_attestation.d.ts +16 -9
  493. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  494. package/dest/p2p/checkpoint_attestation.js +23 -24
  495. package/dest/p2p/checkpoint_proposal.d.ts +44 -25
  496. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  497. package/dest/p2p/checkpoint_proposal.js +68 -65
  498. package/dest/p2p/client_type.d.ts +2 -5
  499. package/dest/p2p/client_type.d.ts.map +1 -1
  500. package/dest/p2p/client_type.js +0 -7
  501. package/dest/p2p/consensus_payload.d.ts +32 -17
  502. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  503. package/dest/p2p/consensus_payload.js +47 -21
  504. package/dest/p2p/constants.d.ts +3 -1
  505. package/dest/p2p/constants.d.ts.map +1 -1
  506. package/dest/p2p/constants.js +1 -0
  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 +1 -2
  510. package/dest/p2p/index.d.ts.map +1 -1
  511. package/dest/p2p/index.js +0 -1
  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 +28 -19
  516. package/dest/p2p/signature_utils.d.ts.map +1 -1
  517. package/dest/p2p/signature_utils.js +118 -21
  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/topic_type.d.ts +3 -4
  522. package/dest/p2p/topic_type.d.ts.map +1 -1
  523. package/dest/p2p/topic_type.js +7 -24
  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/block_headers_hash.d.ts +1 -1
  538. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  539. package/dest/rollup/block_headers_hash.js +8 -2
  540. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  541. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  542. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  543. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  544. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  545. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  546. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  547. package/dest/rollup/checkpoint_header.d.ts +2 -2
  548. package/dest/rollup/checkpoint_header.js +2 -2
  549. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  550. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  551. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +14 -7
  552. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  553. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -2
  554. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +6 -6
  555. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  556. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  557. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  558. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  559. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  560. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  561. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  562. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  563. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  564. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  565. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  566. package/dest/rollup/root_rollup_public_inputs.d.ts +7 -7
  567. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  568. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  569. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  570. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  571. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  572. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  573. package/dest/schemas/schemas.d.ts +32 -78
  574. package/dest/schemas/schemas.d.ts.map +1 -1
  575. package/dest/schemas/schemas.js +2 -2
  576. package/dest/slashing/helpers.d.ts +2 -2
  577. package/dest/slashing/helpers.d.ts.map +1 -1
  578. package/dest/slashing/helpers.js +13 -7
  579. package/dest/slashing/index.d.ts +2 -3
  580. package/dest/slashing/index.d.ts.map +1 -1
  581. package/dest/slashing/index.js +1 -2
  582. package/dest/slashing/serialization.d.ts +2 -6
  583. package/dest/slashing/serialization.d.ts.map +1 -1
  584. package/dest/slashing/serialization.js +0 -60
  585. package/dest/slashing/types.d.ts +20 -112
  586. package/dest/slashing/types.d.ts.map +1 -1
  587. package/dest/slashing/types.js +22 -24
  588. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  589. package/dest/slashing/votes.d.ts.map +1 -0
  590. package/dest/slashing/{tally.js → votes.js} +30 -2
  591. package/dest/snapshots/types.d.ts +15 -78
  592. package/dest/snapshots/types.d.ts.map +1 -1
  593. package/dest/stats/stats.d.ts +2 -2
  594. package/dest/stats/stats.d.ts.map +1 -1
  595. package/dest/tests/factories.d.ts +25 -30
  596. package/dest/tests/factories.d.ts.map +1 -1
  597. package/dest/tests/factories.js +94 -86
  598. package/dest/tests/mocks.d.ts +15 -7
  599. package/dest/tests/mocks.d.ts.map +1 -1
  600. package/dest/tests/mocks.js +68 -70
  601. package/dest/timetable/index.d.ts +84 -0
  602. package/dest/timetable/index.d.ts.map +1 -0
  603. package/dest/timetable/index.js +209 -0
  604. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  605. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  606. package/dest/trees/append_only_tree_snapshot.js +6 -3
  607. package/dest/trees/nullifier_leaf.d.ts +19 -42
  608. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  609. package/dest/trees/nullifier_leaf.js +3 -0
  610. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  611. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  612. package/dest/trees/nullifier_membership_witness.js +2 -14
  613. package/dest/trees/public_data_leaf.d.ts +22 -53
  614. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  615. package/dest/trees/public_data_leaf.js +7 -6
  616. package/dest/trees/public_data_witness.d.ts +16 -58
  617. package/dest/trees/public_data_witness.d.ts.map +1 -1
  618. package/dest/tx/block_header.d.ts +7 -4
  619. package/dest/tx/block_header.d.ts.map +1 -1
  620. package/dest/tx/block_header.js +13 -6
  621. package/dest/tx/call_context.d.ts +4 -14
  622. package/dest/tx/call_context.d.ts.map +1 -1
  623. package/dest/tx/capsule.d.ts +7 -3
  624. package/dest/tx/capsule.d.ts.map +1 -1
  625. package/dest/tx/capsule.js +9 -3
  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 +3 -4
  632. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  633. package/dest/tx/global_variables.d.ts +19 -52
  634. package/dest/tx/global_variables.d.ts.map +1 -1
  635. package/dest/tx/global_variables.js +8 -12
  636. package/dest/tx/hashed_values.d.ts +4 -3
  637. package/dest/tx/hashed_values.d.ts.map +1 -1
  638. package/dest/tx/hashed_values.js +6 -3
  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 +11 -21
  651. package/dest/tx/private_execution_result.d.ts.map +1 -1
  652. package/dest/tx/private_execution_result.js +6 -6
  653. package/dest/tx/profiling.d.ts +70 -356
  654. package/dest/tx/profiling.d.ts.map +1 -1
  655. package/dest/tx/profiling.js +19 -9
  656. package/dest/tx/protocol_contracts.d.ts +5 -9
  657. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  658. package/dest/tx/protocol_contracts.js +2 -2
  659. package/dest/tx/proven_tx.d.ts +30 -74
  660. package/dest/tx/proven_tx.d.ts.map +1 -1
  661. package/dest/tx/proven_tx.js +6 -0
  662. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  663. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  664. package/dest/tx/public_call_request_with_calldata.js +6 -3
  665. package/dest/tx/public_simulation_output.d.ts +4 -2
  666. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  667. package/dest/tx/public_simulation_output.js +7 -3
  668. package/dest/tx/simulated_tx.d.ts +68 -1144
  669. package/dest/tx/simulated_tx.d.ts.map +1 -1
  670. package/dest/tx/simulated_tx.js +17 -12
  671. package/dest/tx/state_reference.d.ts +30 -117
  672. package/dest/tx/state_reference.d.ts.map +1 -1
  673. package/dest/tx/state_reference.js +6 -4
  674. package/dest/tx/tree_snapshots.d.ts +27 -84
  675. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  676. package/dest/tx/tree_snapshots.js +6 -4
  677. package/dest/tx/tx.d.ts +19 -17
  678. package/dest/tx/tx.d.ts.map +1 -1
  679. package/dest/tx/tx.js +48 -29
  680. package/dest/tx/tx_constant_data.d.ts +4 -3
  681. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  682. package/dest/tx/tx_constant_data.js +6 -3
  683. package/dest/tx/tx_context.d.ts +32 -131
  684. package/dest/tx/tx_context.d.ts.map +1 -1
  685. package/dest/tx/tx_context.js +6 -6
  686. package/dest/tx/tx_hash.d.ts +6 -4
  687. package/dest/tx/tx_hash.d.ts.map +1 -1
  688. package/dest/tx/tx_hash.js +13 -5
  689. package/dest/tx/tx_receipt.d.ts +151 -51
  690. package/dest/tx/tx_receipt.d.ts.map +1 -1
  691. package/dest/tx/tx_receipt.js +145 -51
  692. package/dest/tx/tx_request.js +2 -2
  693. package/dest/tx/validator/empty_validator.d.ts +2 -2
  694. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  695. package/dest/tx/validator/error_texts.d.ts +10 -2
  696. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  697. package/dest/tx/validator/error_texts.js +11 -1
  698. package/dest/tx/validator/tx_validator.d.ts +6 -28
  699. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  700. package/dest/tx/validator/tx_validator.js +0 -4
  701. package/dest/types/shared.d.ts +4 -12
  702. package/dest/types/shared.d.ts.map +1 -1
  703. package/dest/types/shared.js +6 -12
  704. package/dest/update-checker/dev_version.d.ts +3 -0
  705. package/dest/update-checker/dev_version.d.ts.map +1 -0
  706. package/dest/update-checker/dev_version.js +1 -0
  707. package/dest/update-checker/index.d.ts +4 -2
  708. package/dest/update-checker/index.d.ts.map +1 -1
  709. package/dest/update-checker/index.js +3 -1
  710. package/dest/update-checker/package_version.d.ts +6 -0
  711. package/dest/update-checker/package_version.d.ts.map +1 -0
  712. package/dest/update-checker/package_version.js +13 -0
  713. package/dest/update-checker/version_checker.d.ts +25 -0
  714. package/dest/update-checker/version_checker.d.ts.map +1 -0
  715. package/dest/update-checker/version_checker.js +50 -0
  716. package/dest/validators/errors.d.ts +6 -1
  717. package/dest/validators/errors.d.ts.map +1 -1
  718. package/dest/validators/errors.js +7 -0
  719. package/dest/validators/schemas.d.ts +147 -614
  720. package/dest/validators/schemas.d.ts.map +1 -1
  721. package/dest/validators/schemas.js +9 -6
  722. package/dest/validators/types.d.ts +21 -4
  723. package/dest/validators/types.d.ts.map +1 -1
  724. package/dest/versioning/versioning.d.ts +4 -2
  725. package/dest/versioning/versioning.d.ts.map +1 -1
  726. package/dest/versioning/versioning.js +5 -2
  727. package/dest/vks/verification_key.d.ts +4 -139
  728. package/dest/vks/verification_key.d.ts.map +1 -1
  729. package/dest/vks/verification_key.js +5 -126
  730. package/dest/world-state/genesis_data.d.ts +13 -0
  731. package/dest/world-state/genesis_data.d.ts.map +1 -0
  732. package/dest/world-state/genesis_data.js +7 -0
  733. package/dest/world-state/index.d.ts +2 -1
  734. package/dest/world-state/index.d.ts.map +1 -1
  735. package/dest/world-state/index.js +1 -0
  736. package/dest/world-state/world_state_revision.d.ts +15 -26
  737. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  738. package/dest/world-state/world_state_revision.js +7 -1
  739. package/package.json +16 -13
  740. package/src/abi/abi.ts +78 -21
  741. package/src/abi/authorization_selector.ts +2 -8
  742. package/src/abi/buffer.ts +25 -4
  743. package/src/abi/contract_artifact.ts +11 -6
  744. package/src/abi/decoder.ts +36 -82
  745. package/src/abi/encoder.ts +85 -6
  746. package/src/abi/event_metadata_definition.ts +2 -0
  747. package/src/abi/event_selector.ts +2 -8
  748. package/src/abi/function_call.ts +25 -3
  749. package/src/abi/function_selector.ts +4 -13
  750. package/src/abi/function_signature_decoder.ts +77 -0
  751. package/src/abi/index.ts +1 -0
  752. package/src/abi/note_selector.ts +3 -12
  753. package/src/abi/selector.ts +1 -1
  754. package/src/abi/utils.ts +31 -4
  755. package/src/auth_witness/auth_witness.ts +3 -3
  756. package/src/avm/avm.ts +5 -0
  757. package/src/avm/message_pack.ts +12 -3
  758. package/src/avm/revert_code.ts +20 -25
  759. package/src/aztec-address/index.ts +15 -12
  760. package/src/block/attestation_info.ts +11 -11
  761. package/src/block/block_data.ts +25 -0
  762. package/src/block/block_hash.ts +21 -14
  763. package/src/block/block_parameter.ts +72 -4
  764. package/src/block/index.ts +1 -1
  765. package/src/block/l2_block.ts +13 -1
  766. package/src/block/l2_block_info.ts +8 -6
  767. package/src/block/l2_block_source.ts +214 -123
  768. package/src/block/l2_block_stream/interfaces.ts +6 -2
  769. package/src/block/l2_block_stream/l2_block_stream.ts +49 -17
  770. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  771. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  772. package/src/block/proposal/attestations_and_signers.ts +32 -17
  773. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  774. package/src/checkpoint/checkpoint.ts +54 -17
  775. package/src/checkpoint/checkpoint_data.ts +91 -0
  776. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  777. package/src/checkpoint/digest.ts +28 -0
  778. package/src/checkpoint/index.ts +5 -0
  779. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  780. package/src/checkpoint/published_checkpoint.ts +3 -1
  781. package/src/checkpoint/validate.ts +230 -0
  782. package/src/config/chain-config.ts +13 -16
  783. package/src/config/index.ts +1 -0
  784. package/src/config/sequencer-config.ts +65 -0
  785. package/src/contract/complete_address.ts +7 -3
  786. package/src/contract/contract_address.ts +10 -10
  787. package/src/contract/contract_class.ts +3 -3
  788. package/src/contract/contract_class_id.ts +7 -6
  789. package/src/contract/contract_instance.ts +11 -2
  790. package/src/contract/index.ts +0 -2
  791. package/src/contract/interfaces/contract_class.ts +2 -82
  792. package/src/contract/interfaces/contract_instance.ts +6 -2
  793. package/src/contract/interfaces/node-info.ts +3 -0
  794. package/src/contract/private_function.ts +5 -3
  795. package/src/database-version/version_manager.ts +17 -0
  796. package/src/epoch-helpers/index.ts +30 -0
  797. package/src/file-store/factory.ts +13 -4
  798. package/src/file-store/http.ts +29 -10
  799. package/src/file-store/index.ts +1 -0
  800. package/src/file-store/local.ts +15 -5
  801. package/src/file-store/s3.ts +12 -3
  802. package/src/gas/README.md +154 -0
  803. package/src/gas/fee_math.ts +120 -0
  804. package/src/gas/gas.ts +8 -3
  805. package/src/gas/gas_fees.ts +29 -10
  806. package/src/gas/gas_settings.ts +73 -15
  807. package/src/gas/index.ts +1 -0
  808. package/src/ha-signing/config.ts +152 -0
  809. package/src/ha-signing/index.ts +29 -0
  810. package/src/ha-signing/local_config.ts +46 -0
  811. package/src/ha-signing/types.ts +126 -0
  812. package/src/hash/hash.ts +76 -11
  813. package/src/hash/map_slot.ts +2 -2
  814. package/src/interfaces/allowed_element.ts +29 -9
  815. package/src/interfaces/api_limit.ts +1 -1
  816. package/src/interfaces/archiver.ts +90 -88
  817. package/src/interfaces/aztec-node-admin.ts +57 -19
  818. package/src/interfaces/aztec-node-debug.ts +40 -0
  819. package/src/interfaces/aztec-node.ts +314 -246
  820. package/src/interfaces/block-builder.ts +63 -14
  821. package/src/interfaces/block_response.ts +92 -0
  822. package/src/interfaces/chain_tips.ts +24 -0
  823. package/src/interfaces/checkpoint_parameter.ts +20 -0
  824. package/src/interfaces/checkpoint_response.ts +84 -0
  825. package/src/interfaces/client.ts +7 -1
  826. package/src/interfaces/configs.ts +75 -8
  827. package/src/interfaces/l1_publish_info.ts +40 -0
  828. package/src/interfaces/l2_logs_source.ts +13 -39
  829. package/src/interfaces/merkle_tree_operations.ts +12 -21
  830. package/src/interfaces/p2p-bootstrap.ts +2 -2
  831. package/src/interfaces/p2p.ts +37 -28
  832. package/src/interfaces/private_kernel_prover.ts +88 -0
  833. package/src/interfaces/prover-agent.ts +1 -1
  834. package/src/interfaces/prover-client.ts +10 -5
  835. package/src/interfaces/prover-node.ts +7 -7
  836. package/src/interfaces/proving-job-source.ts +4 -4
  837. package/src/interfaces/proving-job.ts +3 -3
  838. package/src/interfaces/public_storage_override.ts +26 -0
  839. package/src/interfaces/server.ts +5 -0
  840. package/src/interfaces/slasher.ts +19 -10
  841. package/src/interfaces/tx_provider.ts +6 -0
  842. package/src/interfaces/validator.ts +86 -36
  843. package/src/interfaces/world_state.ts +5 -4
  844. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  845. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  846. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  847. package/src/kernel/hints/index.ts +2 -2
  848. package/src/kernel/hints/key_validation_request.ts +18 -16
  849. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  850. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  851. package/src/kernel/index.ts +4 -0
  852. package/src/kernel/log_hash.ts +29 -9
  853. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  854. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  855. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  856. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  857. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  858. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  859. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  860. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
  861. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  862. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  863. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
  864. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  865. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
  866. package/src/kernel/private_validation_requests.ts +8 -8
  867. package/src/kernel/public_call_request.ts +22 -7
  868. package/src/keys/derivation.ts +26 -14
  869. package/src/keys/key_types.ts +6 -2
  870. package/src/keys/public_key.ts +26 -2
  871. package/src/keys/public_keys.ts +125 -111
  872. package/src/keys/utils.ts +5 -5
  873. package/src/kv-store/config.ts +29 -0
  874. package/src/kv-store/index.ts +1 -0
  875. package/src/l1-contracts/index.ts +1 -1
  876. package/src/logs/app_tagging_secret.ts +137 -0
  877. package/src/logs/app_tagging_secret_kind.ts +21 -0
  878. package/src/logs/contract_class_log.ts +15 -5
  879. package/src/logs/debug_log_store.ts +54 -0
  880. package/src/logs/index.ts +8 -6
  881. package/src/logs/log_cursor.ts +110 -0
  882. package/src/logs/log_result.ts +104 -0
  883. package/src/logs/logs_query.ts +138 -0
  884. package/src/logs/message_context.ts +22 -8
  885. package/src/logs/pending_tagged_log.ts +1 -3
  886. package/src/logs/pre_tag.ts +3 -6
  887. package/src/logs/private_log.ts +9 -3
  888. package/src/logs/public_log.ts +4 -2
  889. package/src/logs/query_all_logs_by_tags.ts +98 -0
  890. package/src/logs/shared_secret_derivation.ts +21 -10
  891. package/src/logs/siloed_tag.ts +28 -14
  892. package/src/logs/tag.ts +9 -9
  893. package/src/logs/tagging_index_range.ts +18 -0
  894. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  895. package/src/messaging/index.ts +1 -0
  896. package/src/messaging/l1_to_l2_message.ts +12 -9
  897. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  898. package/src/messaging/l2_to_l1_membership.ts +192 -38
  899. package/src/messaging/l2_to_l1_message.ts +29 -9
  900. package/src/noir/index.ts +4 -2
  901. package/src/note/index.ts +0 -1
  902. package/src/note/note_dao.ts +1 -4
  903. package/src/p2p/attestation_utils.ts +56 -0
  904. package/src/p2p/block_proposal.ts +112 -39
  905. package/src/p2p/checkpoint_attestation.ts +33 -32
  906. package/src/p2p/checkpoint_proposal.ts +149 -86
  907. package/src/p2p/client_type.ts +0 -6
  908. package/src/p2p/consensus_payload.ts +68 -24
  909. package/src/p2p/constants.ts +3 -0
  910. package/src/p2p/gossipable.ts +4 -4
  911. package/src/p2p/index.ts +0 -1
  912. package/src/p2p/peer_error.ts +7 -0
  913. package/src/p2p/signature_utils.ts +110 -25
  914. package/src/p2p/signed_txs.ts +46 -28
  915. package/src/p2p/topic_type.ts +8 -15
  916. package/src/parity/parity_base_private_inputs.ts +10 -4
  917. package/src/parity/parity_public_inputs.ts +9 -2
  918. package/src/proofs/chonk_proof.ts +132 -12
  919. package/src/rollup/block_headers_hash.ts +11 -2
  920. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  921. package/src/rollup/checkpoint_header.ts +2 -2
  922. package/src/rollup/checkpoint_rollup_public_inputs.ts +15 -5
  923. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  924. package/src/schemas/schemas.ts +6 -1
  925. package/src/slashing/helpers.ts +17 -9
  926. package/src/slashing/index.ts +1 -2
  927. package/src/slashing/serialization.ts +1 -81
  928. package/src/slashing/types.ts +31 -49
  929. package/src/slashing/{tally.ts → votes.ts} +34 -1
  930. package/src/stats/stats.ts +4 -0
  931. package/src/tests/factories.ts +120 -119
  932. package/src/tests/mocks.ts +106 -84
  933. package/src/timetable/index.ts +304 -0
  934. package/src/trees/append_only_tree_snapshot.ts +8 -3
  935. package/src/trees/nullifier_leaf.ts +4 -0
  936. package/src/trees/nullifier_membership_witness.ts +2 -12
  937. package/src/trees/public_data_leaf.ts +11 -5
  938. package/src/tx/block_header.ts +18 -7
  939. package/src/tx/capsule.ts +10 -2
  940. package/src/tx/fee_provider.ts +10 -0
  941. package/src/tx/global_variable_builder.ts +2 -3
  942. package/src/tx/global_variables.ts +13 -21
  943. package/src/tx/hashed_values.ts +8 -3
  944. package/src/tx/index.ts +1 -0
  945. package/src/tx/indexed_tx_effect.ts +18 -6
  946. package/src/tx/partial_state_reference.ts +8 -3
  947. package/src/tx/private_execution_result.ts +5 -5
  948. package/src/tx/profiling.ts +18 -9
  949. package/src/tx/protocol_contracts.ts +2 -2
  950. package/src/tx/proven_tx.ts +6 -0
  951. package/src/tx/public_call_request_with_calldata.ts +8 -3
  952. package/src/tx/public_simulation_output.ts +4 -0
  953. package/src/tx/simulated_tx.ts +30 -22
  954. package/src/tx/state_reference.ts +9 -4
  955. package/src/tx/tree_snapshots.ts +9 -4
  956. package/src/tx/tx.ts +63 -35
  957. package/src/tx/tx_constant_data.ts +8 -3
  958. package/src/tx/tx_context.ts +8 -3
  959. package/src/tx/tx_hash.ts +20 -5
  960. package/src/tx/tx_receipt.ts +269 -74
  961. package/src/tx/tx_request.ts +2 -2
  962. package/src/tx/validator/empty_validator.ts +1 -1
  963. package/src/tx/validator/error_texts.ts +13 -1
  964. package/src/tx/validator/tx_validator.ts +2 -6
  965. package/src/types/shared.ts +8 -13
  966. package/src/update-checker/dev_version.ts +2 -0
  967. package/src/update-checker/index.ts +3 -1
  968. package/src/update-checker/package_version.ts +17 -0
  969. package/src/update-checker/version_checker.ts +65 -0
  970. package/src/validators/errors.ts +9 -0
  971. package/src/validators/schemas.ts +13 -4
  972. package/src/validators/types.ts +25 -5
  973. package/src/versioning/versioning.ts +5 -2
  974. package/src/vks/verification_key.ts +5 -184
  975. package/src/world-state/genesis_data.ts +27 -0
  976. package/src/world-state/index.ts +1 -0
  977. package/src/world-state/world_state_revision.ts +9 -1
  978. package/dest/abi/mocked_keys.d.ts +0 -2
  979. package/dest/abi/mocked_keys.d.ts.map +0 -1
  980. package/dest/abi/mocked_keys.js +0 -1
  981. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  982. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  983. package/dest/block/checkpointed_l2_block.js +0 -46
  984. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  985. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  986. package/dest/contract/private_function_membership_proof.js +0 -124
  987. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  988. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  989. package/dest/contract/utility_function_membership_proof.js +0 -87
  990. package/dest/interfaces/get_logs_response.d.ts +0 -97
  991. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  992. package/dest/interfaces/get_logs_response.js +0 -12
  993. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  994. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  995. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  996. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  997. package/dest/l1-contracts/slash_factory.js +0 -158
  998. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  999. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  1000. package/dest/logs/directional_app_tagging_secret.js +0 -64
  1001. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1002. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1003. package/dest/logs/extended_contract_class_log.js +0 -67
  1004. package/dest/logs/extended_public_log.d.ts +0 -106
  1005. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1006. package/dest/logs/extended_public_log.js +0 -73
  1007. package/dest/logs/log_filter.d.ts +0 -22
  1008. package/dest/logs/log_filter.d.ts.map +0 -1
  1009. package/dest/logs/log_filter.js +0 -11
  1010. package/dest/logs/log_id.d.ts +0 -85
  1011. package/dest/logs/log_id.d.ts.map +0 -1
  1012. package/dest/logs/log_id.js +0 -94
  1013. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1014. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1015. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1016. package/dest/note/notes_filter.d.ts +0 -27
  1017. package/dest/note/notes_filter.d.ts.map +0 -1
  1018. package/dest/note/notes_filter.js +0 -11
  1019. package/dest/slashing/empire.d.ts +0 -31
  1020. package/dest/slashing/empire.d.ts.map +0 -1
  1021. package/dest/slashing/empire.js +0 -86
  1022. package/dest/slashing/tally.d.ts.map +0 -1
  1023. package/dest/update-checker/update-checker.d.ts +0 -49
  1024. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1025. package/dest/update-checker/update-checker.js +0 -130
  1026. package/src/abi/mocked_keys.ts +0 -2
  1027. package/src/block/checkpointed_l2_block.ts +0 -70
  1028. package/src/contract/private_function_membership_proof.ts +0 -167
  1029. package/src/contract/utility_function_membership_proof.ts +0 -118
  1030. package/src/interfaces/get_logs_response.ts +0 -35
  1031. package/src/l1-contracts/slash_factory.ts +0 -180
  1032. package/src/logs/directional_app_tagging_secret.ts +0 -79
  1033. package/src/logs/extended_contract_class_log.ts +0 -87
  1034. package/src/logs/extended_public_log.ts +0 -94
  1035. package/src/logs/log_filter.ts +0 -31
  1036. package/src/logs/log_id.ts +0 -125
  1037. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1038. package/src/note/notes_filter.ts +0 -38
  1039. package/src/slashing/empire.ts +0 -103
  1040. package/src/update-checker/update-checker.ts +0 -166
@@ -1,10 +1,11 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DEFAULT_FBPK_M_HASH, DEFAULT_MSPK_M_HASH, DomainSeparator } from '@aztec/constants';
2
2
  import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
3
3
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
4
4
  import { sha512ToGrumpkinScalar } from '@aztec/foundation/crypto/sha512';
5
5
  import { Fq, Fr } from '@aztec/foundation/curves/bn254';
6
6
  import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
7
7
  import { AztecAddress } from '../aztec-address/index.js';
8
+ import { hashPublicKey } from './public_key.js';
8
9
  import { PublicKeys } from './public_keys.js';
9
10
  import { getKeyGenerator } from './utils.js';
10
11
  export function computeAppNullifierHidingKey(masterNullifierHidingKey, app) {
@@ -27,41 +28,41 @@ export async function computeOvskApp(ovsk, app) {
27
28
  export function deriveMasterNullifierHidingKey(secretKey) {
28
29
  return sha512ToGrumpkinScalar([
29
30
  secretKey,
30
- GeneratorIndex.NHK_M
31
+ DomainSeparator.NHK_M
31
32
  ]);
32
33
  }
33
34
  export function deriveMasterIncomingViewingSecretKey(secretKey) {
34
35
  return sha512ToGrumpkinScalar([
35
36
  secretKey,
36
- GeneratorIndex.IVSK_M
37
+ DomainSeparator.IVSK_M
37
38
  ]);
38
39
  }
39
40
  export function deriveMasterOutgoingViewingSecretKey(secretKey) {
40
41
  return sha512ToGrumpkinScalar([
41
42
  secretKey,
42
- GeneratorIndex.OVSK_M
43
+ DomainSeparator.OVSK_M
43
44
  ]);
44
45
  }
45
46
  export function deriveSigningKey(secretKey) {
46
47
  // TODO(#5837): come up with a standard signing key derivation scheme instead of using ivsk_m as signing keys here
47
48
  return sha512ToGrumpkinScalar([
48
49
  secretKey,
49
- GeneratorIndex.IVSK_M
50
+ DomainSeparator.IVSK_M
50
51
  ]);
51
52
  }
52
53
  export function computePreaddress(publicKeysHash, partialAddress) {
53
54
  return poseidon2HashWithSeparator([
54
55
  publicKeysHash,
55
56
  partialAddress
56
- ], GeneratorIndex.CONTRACT_ADDRESS_V1);
57
+ ], DomainSeparator.CONTRACT_ADDRESS_V2);
57
58
  }
58
59
  export async function computeAddress(publicKeys, partialAddress) {
59
60
  // Given public keys and a partial address, we can compute our address in the following steps.
60
- // 1. preaddress = poseidon2([publicKeysHash, partialAddress], GeneratorIndex.CONTRACT_ADDRESS_V1);
61
+ // 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V2);
61
62
  // 2. addressPoint = (preaddress * G) + ivpk_m
62
63
  // 3. address = addressPoint.x
63
64
  const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress);
64
- const address = await Grumpkin.add(await derivePublicKeyFromSecretKey(new Fq(preaddress.toBigInt())), publicKeys.masterIncomingViewingPublicKey);
65
+ const address = await Grumpkin.add(await derivePublicKeyFromSecretKey(new Fq(preaddress.toBigInt())), publicKeys.ivpkM);
65
66
  return new AztecAddress(address.x);
66
67
  }
67
68
  export async function computeAddressSecret(preaddress, ivsk) {
@@ -98,20 +99,29 @@ export function derivePublicKeyFromSecretKey(secretKey) {
98
99
  const masterOutgoingViewingSecretKey = deriveMasterOutgoingViewingSecretKey(secretKey);
99
100
  const masterTaggingSecretKey = sha512ToGrumpkinScalar([
100
101
  secretKey,
101
- GeneratorIndex.TSK_M
102
+ DomainSeparator.TSK_M
102
103
  ]);
103
104
  // Then we derive master public keys
104
105
  const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingKey);
105
106
  const masterIncomingViewingPublicKey = await derivePublicKeyFromSecretKey(masterIncomingViewingSecretKey);
106
107
  const masterOutgoingViewingPublicKey = await derivePublicKeyFromSecretKey(masterOutgoingViewingSecretKey);
107
108
  const masterTaggingPublicKey = await derivePublicKeyFromSecretKey(masterTaggingSecretKey);
108
- // We hash the public keys to get the public keys hash
109
- const publicKeys = new PublicKeys(masterNullifierPublicKey, masterIncomingViewingPublicKey, masterOutgoingViewingPublicKey, masterTaggingPublicKey);
109
+ // The non-owner-visible PublicKeys carries hashes for npk/ovpk/tpk/mspk/fbpk and the raw
110
+ // point only for ivpk_m. The npk/ovpk/tpk raw points are also returned alongside so the key
111
+ // store can persist them under `${account}-{n|ov|t}pk_m` (only their hashes live in publicKeys).
112
+ // The ivpk_m point isn't returned separately because it already lives in publicKeys.ivpkM.
113
+ //
114
+ // TODO: There isn't a derivation path for the message signing(msk) and fallback(fbk) keys yet. So we just use the the
115
+ // default values for now.
116
+ const publicKeys = new PublicKeys(await hashPublicKey(masterNullifierPublicKey), masterIncomingViewingPublicKey, await hashPublicKey(masterOutgoingViewingPublicKey), await hashPublicKey(masterTaggingPublicKey), new Fr(DEFAULT_MSPK_M_HASH), new Fr(DEFAULT_FBPK_M_HASH));
110
117
  return {
111
118
  masterNullifierHidingKey,
112
119
  masterIncomingViewingSecretKey,
113
120
  masterOutgoingViewingSecretKey,
114
121
  masterTaggingSecretKey,
122
+ masterNullifierPublicKey,
123
+ masterOutgoingViewingPublicKey,
124
+ masterTaggingPublicKey,
115
125
  publicKeys
116
126
  };
117
127
  }
@@ -1,5 +1,5 @@
1
- import type { GeneratorIndex } from '@aztec/constants';
2
- export type KeyGenerator = GeneratorIndex.NHK_M | GeneratorIndex.IVSK_M | GeneratorIndex.OVSK_M | GeneratorIndex.TSK_M;
1
+ import type { DomainSeparator } from '@aztec/constants';
2
+ export type KeyGenerator = DomainSeparator.NHK_M | DomainSeparator.IVSK_M | DomainSeparator.OVSK_M | DomainSeparator.TSK_M;
3
3
  export type KeyPrefix = 'n' | 'iv' | 'ov' | 't';
4
4
  export declare const KEY_PREFIXES: KeyPrefix[];
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5X3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2V5cy9rZXlfdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkQsTUFBTSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO0FBQ3ZILE1BQU0sTUFBTSxTQUFTLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQ2hELGVBQU8sTUFBTSxZQUFZLEVBQUUsU0FBUyxFQUEyQixDQUFDIn0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5X3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2V5cy9rZXlfdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsTUFBTSxNQUFNLFlBQVksR0FDcEIsZUFBZSxDQUFDLEtBQUssR0FDckIsZUFBZSxDQUFDLE1BQU0sR0FDdEIsZUFBZSxDQUFDLE1BQU0sR0FDdEIsZUFBZSxDQUFDLEtBQUssQ0FBQztBQUMxQixNQUFNLE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQztBQUNoRCxlQUFPLE1BQU0sWUFBWSxFQUFFLFNBQVMsRUFBMkIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"key_types.d.ts","sourceRoot":"","sources":["../../src/keys/key_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC;AACvH,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;AAChD,eAAO,MAAM,YAAY,EAAE,SAAS,EAA2B,CAAC"}
1
+ {"version":3,"file":"key_types.d.ts","sourceRoot":"","sources":["../../src/keys/key_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,YAAY,GACpB,eAAe,CAAC,KAAK,GACrB,eAAe,CAAC,MAAM,GACtB,eAAe,CAAC,MAAM,GACtB,eAAe,CAAC,KAAK,CAAC;AAC1B,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;AAChD,eAAO,MAAM,YAAY,EAAE,SAAS,EAA2B,CAAC"}
@@ -1,4 +1,23 @@
1
- import type { Point } from '@aztec/foundation/curves/grumpkin';
2
- /** Represents a user public key. */
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { Point } from '@aztec/foundation/curves/grumpkin';
3
+ /**
4
+ * Hashes a public key.
5
+ *
6
+ * Mirrors Noir's `hash_public_key` in `noir-protocol-circuits/crates/types/src/public_keys.nr`:
7
+ * `Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, [pk.x, pk.y])`.
8
+ *
9
+ * This is distinct from Noir's generic `Hash` impl for `EmbeddedCurvePoint` (`noir_stdlib/src/embedded_curve_ops.nr`),
10
+ * which simply absorbs `x` then `y` into a `Hasher` state with no domain separator. That generic impl is unsuitable
11
+ * for hashing keys at the protocol boundary, where the domain separator is required to prevent collisions with hashes
12
+ * of other Grumpkin points (e.g. note commitments, nullifiers).
13
+ */
14
+ export declare function hashPublicKey(pk: PublicKey): Promise<Fr>;
15
+ /**
16
+ * Represents a user public key.
17
+ *
18
+ * Structurally identical to a Grumpkin `Point`; exposed as a distinct name so call sites read as "public key" where
19
+ * that's the domain meaning.
20
+ */
3
21
  export type PublicKey = Point;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleXMvcHVibGljX2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUvRCxvQ0FBb0M7QUFDcEMsTUFBTSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMifQ==
22
+ export declare const PublicKey: typeof Point;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleXMvcHVibGljX2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFEOzs7Ozs7Ozs7O0dBVUc7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEVBQUUsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUV4RDtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFDOUIsZUFBTyxNQUFNLFNBQVMsY0FBUSxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"public_key.d.ts","sourceRoot":"","sources":["../../src/keys/public_key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/D,oCAAoC;AACpC,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"public_key.d.ts","sourceRoot":"","sources":["../../src/keys/public_key.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAExD;AAED;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC;AAC9B,eAAO,MAAM,SAAS,cAAQ,CAAC"}
@@ -1 +1,20 @@
1
- /** Represents a user public key. */ export { };
1
+ import { DomainSeparator } from '@aztec/constants';
2
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
+ import { Point } from '@aztec/foundation/curves/grumpkin';
4
+ /**
5
+ * Hashes a public key.
6
+ *
7
+ * Mirrors Noir's `hash_public_key` in `noir-protocol-circuits/crates/types/src/public_keys.nr`:
8
+ * `Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, [pk.x, pk.y])`.
9
+ *
10
+ * This is distinct from Noir's generic `Hash` impl for `EmbeddedCurvePoint` (`noir_stdlib/src/embedded_curve_ops.nr`),
11
+ * which simply absorbs `x` then `y` into a `Hasher` state with no domain separator. That generic impl is unsuitable
12
+ * for hashing keys at the protocol boundary, where the domain separator is required to prevent collisions with hashes
13
+ * of other Grumpkin points (e.g. note commitments, nullifiers).
14
+ */ export function hashPublicKey(pk) {
15
+ return poseidon2HashWithSeparator([
16
+ pk.x,
17
+ pk.y
18
+ ], DomainSeparator.SINGLE_PUBLIC_KEY_HASH);
19
+ }
20
+ export const PublicKey = Point;
@@ -1,68 +1,65 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { Point } from '@aztec/foundation/curves/grumpkin';
3
2
  import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
4
3
  import type { FieldsOf } from '@aztec/foundation/types';
5
4
  import { z } from 'zod';
6
- import type { PublicKey } from './public_key.js';
5
+ import { PublicKey } from './public_key.js';
6
+ /**
7
+ * A non-owner's view of an account's master public keys.
8
+ *
9
+ * Only `ivpkM` is exposed as a point (since address derivation needs the curve
10
+ * point in-circuit); the other five keys are exposed as their `hashPublicKey` digests.
11
+ */
7
12
  export declare class PublicKeys {
8
- /** Master nullifier public key */
9
- masterNullifierPublicKey: PublicKey;
13
+ /** Hash of the master nullifier public key */
14
+ npkMHash: Fr;
10
15
  /** Master incoming viewing public key */
11
- masterIncomingViewingPublicKey: PublicKey;
12
- /** Master outgoing viewing public key */
13
- masterOutgoingViewingPublicKey: PublicKey;
14
- /** Master tagging viewing public key */
15
- masterTaggingPublicKey: PublicKey;
16
+ ivpkM: PublicKey;
17
+ /** Hash of the master outgoing viewing public key */
18
+ ovpkMHash: Fr;
19
+ /** Hash of the master tagging public key */
20
+ tpkMHash: Fr;
21
+ /** Hash of the master message-signing public key */
22
+ mspkMHash: Fr;
23
+ /** Hash of the master fallback public key */
24
+ fbpkMHash: Fr;
16
25
  constructor(
17
- /** Master nullifier public key */
18
- masterNullifierPublicKey: PublicKey,
26
+ /** Hash of the master nullifier public key */
27
+ npkMHash: Fr,
19
28
  /** Master incoming viewing public key */
20
- masterIncomingViewingPublicKey: PublicKey,
21
- /** Master outgoing viewing public key */
22
- masterOutgoingViewingPublicKey: PublicKey,
23
- /** Master tagging viewing public key */
24
- masterTaggingPublicKey: PublicKey);
25
- static get schema(): z.ZodEffects<z.ZodObject<{
26
- masterNullifierPublicKey: z.ZodType<Point, any, string>;
27
- masterIncomingViewingPublicKey: z.ZodType<Point, any, string>;
28
- masterOutgoingViewingPublicKey: z.ZodType<Point, any, string>;
29
- masterTaggingPublicKey: z.ZodType<Point, any, string>;
30
- }, "strip", z.ZodTypeAny, {
31
- masterNullifierPublicKey: Point;
32
- masterIncomingViewingPublicKey: Point;
33
- masterOutgoingViewingPublicKey: Point;
34
- masterTaggingPublicKey: Point;
35
- }, {
36
- masterNullifierPublicKey: string;
37
- masterIncomingViewingPublicKey: string;
38
- masterOutgoingViewingPublicKey: string;
39
- masterTaggingPublicKey: string;
40
- }>, PublicKeys, {
41
- masterNullifierPublicKey: string;
42
- masterIncomingViewingPublicKey: string;
43
- masterOutgoingViewingPublicKey: string;
44
- masterTaggingPublicKey: string;
45
- }>;
29
+ ivpkM: PublicKey,
30
+ /** Hash of the master outgoing viewing public key */
31
+ ovpkMHash: Fr,
32
+ /** Hash of the master tagging public key */
33
+ tpkMHash: Fr,
34
+ /** Hash of the master message-signing public key */
35
+ mspkMHash: Fr,
36
+ /** Hash of the master fallback public key */
37
+ fbpkMHash: Fr);
38
+ static get schema(): z.ZodPipe<z.ZodObject<{
39
+ npkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
40
+ ivpkM: z.ZodType<import("@aztec/foundation/schemas").Point, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Point, string>>;
41
+ ovpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
42
+ tpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
43
+ mspkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
44
+ fbpkMHash: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
45
+ }, z.core.$strip>, z.ZodTransform<PublicKeys, {
46
+ npkMHash: Fr;
47
+ ivpkM: import("@aztec/foundation/schemas").Point;
48
+ ovpkMHash: Fr;
49
+ tpkMHash: Fr;
50
+ mspkMHash: Fr;
51
+ fbpkMHash: Fr;
52
+ }>>;
46
53
  static from(fields: FieldsOf<PublicKeys>): PublicKeys;
47
54
  /**
48
55
  * Creates a PublicKeys from a plain object without Zod validation.
49
- * This method is optimized for performance and skips validation, making it suitable
50
- * for deserializing trusted data (e.g., from C++ via MessagePack).
51
- * @param obj - Plain object containing PublicKeys fields
52
- * @returns A PublicKeys instance
56
+ * Suitable for deserializing trusted data (e.g., from C++ via MessagePack).
53
57
  */
54
58
  static fromPlainObject(obj: any): PublicKeys;
55
- hash(): Fr | Promise<Fr>;
59
+ hash(): Promise<Fr>;
56
60
  isEmpty(): boolean;
57
61
  static default(): PublicKeys;
58
62
  static random(): Promise<PublicKeys>;
59
- /**
60
- * Determines if this PublicKeys instance is equal to the given PublicKeys instance.
61
- * Equality is based on the content of their respective buffers.
62
- *
63
- * @param other - The PublicKeys instance to compare against.
64
- * @returns True if the buffers of both instances are equal, false otherwise.
65
- */
66
63
  equals(other: PublicKeys): boolean;
67
64
  /**
68
65
  * Converts the PublicKeys instance into a Buffer.
@@ -71,48 +68,24 @@ export declare class PublicKeys {
71
68
  * @returns A Buffer representation of the PublicKeys instance.
72
69
  */
73
70
  toBuffer(): Buffer;
74
- /**
75
- * Creates an PublicKeys instance from a given buffer or BufferReader.
76
- * If the input is a Buffer, it wraps it in a BufferReader before processing.
77
- * Throws an error if the input length is not equal to the expected size.
78
- *
79
- * @param buffer - The input buffer or BufferReader containing the address data.
80
- * @returns - A new PublicKeys instance with the extracted address data.
81
- */
82
71
  static fromBuffer(buffer: Buffer | BufferReader): PublicKeys;
83
72
  toNoirStruct(): {
84
- npk_m: {
85
- inner: {
86
- x: Fr;
87
- y: Fr;
88
- is_infinite: boolean;
89
- };
90
- };
73
+ npk_m_hash: Fr;
91
74
  ivpk_m: {
92
75
  inner: {
93
76
  x: Fr;
94
77
  y: Fr;
95
- is_infinite: boolean;
96
- };
97
- };
98
- ovpk_m: {
99
- inner: {
100
- x: Fr;
101
- y: Fr;
102
- is_infinite: boolean;
103
- };
104
- };
105
- tpk_m: {
106
- inner: {
107
- x: Fr;
108
- y: Fr;
109
- is_infinite: boolean;
110
78
  };
111
79
  };
80
+ ovpk_m_hash: Fr;
81
+ tpk_m_hash: Fr;
82
+ mspk_m_hash: Fr;
83
+ fbpk_m_hash: Fr;
112
84
  };
113
85
  /**
114
- * Serializes the payload to an array of fields
115
- * @returns The fields of the payload
86
+ * Wire-format fields matching Noir's struct flattening of `PublicKeys`:
87
+ * `[npk_m_hash, ivpk_m.x, ivpk_m.y, ovpk_m_hash, tpk_m_hash, mspk_m_hash, fbpk_m_hash]`
88
+ * (7 fields).
116
89
  */
117
90
  toFields(): Fr[];
118
91
  encodeToNoir(): Fr[];
@@ -120,4 +93,4 @@ export declare class PublicKeys {
120
93
  toString(): `0x${string}`;
121
94
  static fromString(keys: string): PublicKeys;
122
95
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXlzL3B1YmxpY19rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0YsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxxQkFBYSxVQUFVO0lBRW5CLGtDQUFrQztJQUMzQix3QkFBd0IsRUFBRSxTQUFTO0lBQzFDLHlDQUF5QztJQUNsQyw4QkFBOEIsRUFBRSxTQUFTO0lBQ2hELHlDQUF5QztJQUNsQyw4QkFBOEIsRUFBRSxTQUFTO0lBQ2hELHdDQUF3QztJQUNqQyxzQkFBc0IsRUFBRSxTQUFTO0lBUjFDO0lBQ0Usa0NBQWtDO0lBQzNCLHdCQUF3QixFQUFFLFNBQVM7SUFDMUMseUNBQXlDO0lBQ2xDLDhCQUE4QixFQUFFLFNBQVM7SUFDaEQseUNBQXlDO0lBQ2xDLDhCQUE4QixFQUFFLFNBQVM7SUFDaEQsd0NBQXdDO0lBQ2pDLHNCQUFzQixFQUFFLFNBQVMsRUFDdEM7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FTaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLGNBT3ZDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FVM0M7SUFFRCxJQUFJLHFCQVlIO0lBRUQsT0FBTyxZQU9OO0lBRUQsTUFBTSxDQUFDLE9BQU8sSUFBSSxVQUFVLENBTzNCO0lBRUQsT0FBYSxNQUFNLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUV6QztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FPakM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsSUFBSSxNQUFNLENBT2pCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsVUFBVSxDQVkzRDtJQUVELFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BWVg7SUFFRDs7O09BR0c7SUFDSCxRQUFRLElBQUksRUFBRSxFQUFFLENBT2Y7SUFJRCxZQUFZLElBQUksRUFBRSxFQUFFLENBRW5CO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLFVBQVUsQ0FReEQ7SUFFRCxRQUFRLGtCQUVQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxjQUU3QjtDQUNGIn0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tleXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXlzL3B1YmxpY19rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFFM0Q7Ozs7O0dBS0c7QUFDSCxxQkFBYSxVQUFVO0lBRW5CLDhDQUE4QztJQUN2QyxRQUFRLEVBQUUsRUFBRTtJQUNuQix5Q0FBeUM7SUFDbEMsS0FBSyxFQUFFLFNBQVM7SUFDdkIscURBQXFEO0lBQzlDLFNBQVMsRUFBRSxFQUFFO0lBQ3BCLDRDQUE0QztJQUNyQyxRQUFRLEVBQUUsRUFBRTtJQUNuQixvREFBb0Q7SUFDN0MsU0FBUyxFQUFFLEVBQUU7SUFDcEIsNkNBQTZDO0lBQ3RDLFNBQVMsRUFBRSxFQUFFO0lBWnRCO0lBQ0UsOENBQThDO0lBQ3ZDLFFBQVEsRUFBRSxFQUFFO0lBQ25CLHlDQUF5QztJQUNsQyxLQUFLLEVBQUUsU0FBUztJQUN2QixxREFBcUQ7SUFDOUMsU0FBUyxFQUFFLEVBQUU7SUFDcEIsNENBQTRDO0lBQ3JDLFFBQVEsRUFBRSxFQUFFO0lBQ25CLG9EQUFvRDtJQUM3QyxTQUFTLEVBQUUsRUFBRTtJQUNwQiw2Q0FBNkM7SUFDdEMsU0FBUyxFQUFFLEVBQUUsRUFDbEI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7UUFXaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLGNBU3ZDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FZM0M7SUFFSyxJQUFJLGdCQVlUO0lBRUQsT0FBTyxZQVNOO0lBRUQsTUFBTSxDQUFDLE9BQU8sSUFBSSxVQUFVLENBYzNCO0lBRUQsT0FBYSxNQUFNLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQWN6QztJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FTakM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsSUFBSSxNQUFNLENBU2pCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxVQUFVLENBUzNEO0lBRUQsWUFBWTs7Ozs7Ozs7Ozs7O01BWVg7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBR0QsWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUVuQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsR0FBRyxVQUFVLENBU3hEO0lBRUQsUUFBUSxrQkFFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sY0FFN0I7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"public_keys.d.ts","sourceRoot":"","sources":["../../src/keys/public_keys.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,UAAU;IAEnB,kCAAkC;IAC3B,wBAAwB,EAAE,SAAS;IAC1C,yCAAyC;IAClC,8BAA8B,EAAE,SAAS;IAChD,yCAAyC;IAClC,8BAA8B,EAAE,SAAS;IAChD,wCAAwC;IACjC,sBAAsB,EAAE,SAAS;IAR1C;IACE,kCAAkC;IAC3B,wBAAwB,EAAE,SAAS;IAC1C,yCAAyC;IAClC,8BAA8B,EAAE,SAAS;IAChD,yCAAyC;IAClC,8BAA8B,EAAE,SAAS;IAChD,wCAAwC;IACjC,sBAAsB,EAAE,SAAS,EACtC;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;OAShB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAOvC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAU3C;IAED,IAAI,qBAYH;IAED,OAAO,YAON;IAED,MAAM,CAAC,OAAO,IAAI,UAAU,CAO3B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAEzC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAOjC;IAED;;;;;OAKG;IACH,QAAQ,IAAI,MAAM,CAOjB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAY3D;IAED,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAYX;IAED;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAOf;IAID,YAAY,IAAI,EAAE,EAAE,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,UAAU,CAQxD;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,cAE7B;CACF"}
1
+ {"version":3,"file":"public_keys.d.ts","sourceRoot":"","sources":["../../src/keys/public_keys.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAE3D;;;;;GAKG;AACH,qBAAa,UAAU;IAEnB,8CAA8C;IACvC,QAAQ,EAAE,EAAE;IACnB,yCAAyC;IAClC,KAAK,EAAE,SAAS;IACvB,qDAAqD;IAC9C,SAAS,EAAE,EAAE;IACpB,4CAA4C;IACrC,QAAQ,EAAE,EAAE;IACnB,oDAAoD;IAC7C,SAAS,EAAE,EAAE;IACpB,6CAA6C;IACtC,SAAS,EAAE,EAAE;IAZtB;IACE,8CAA8C;IACvC,QAAQ,EAAE,EAAE;IACnB,yCAAyC;IAClC,KAAK,EAAE,SAAS;IACvB,qDAAqD;IAC9C,SAAS,EAAE,EAAE;IACpB,4CAA4C;IACrC,QAAQ,EAAE,EAAE;IACnB,oDAAoD;IAC7C,SAAS,EAAE,EAAE;IACpB,6CAA6C;IACtC,SAAS,EAAE,EAAE,EAClB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;QAWhB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cASvC;IAED;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAY3C;IAEK,IAAI,gBAYT;IAED,OAAO,YASN;IAED,MAAM,CAAC,OAAO,IAAI,UAAU,CAc3B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAczC;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CASjC;IAED;;;;;OAKG;IACH,QAAQ,IAAI,MAAM,CASjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAS3D;IAED,YAAY;;;;;;;;;;;;MAYX;IAED;;;;OAIG;IACH,QAAQ,IAAI,EAAE,EAAE,CAEf;IAGD,YAAY,IAAI,EAAE,EAAE,CAEnB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,UAAU,CASxD;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,cAE7B;CACF"}
@@ -1,70 +1,91 @@
1
- import { DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X, DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, GeneratorIndex } from '@aztec/constants';
1
+ import { DEFAULT_FBPK_M_HASH, DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_MSPK_M_HASH, DEFAULT_NPK_M_HASH, DEFAULT_OVPK_M_HASH, DEFAULT_TPK_M_HASH, DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
- import { Point } from '@aztec/foundation/curves/grumpkin';
5
4
  import { schemas } from '@aztec/foundation/schemas';
6
5
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
7
6
  import { bufferToHex, withoutHexPrefix } from '@aztec/foundation/string';
8
7
  import { z } from 'zod';
9
- export class PublicKeys {
10
- masterNullifierPublicKey;
11
- masterIncomingViewingPublicKey;
12
- masterOutgoingViewingPublicKey;
13
- masterTaggingPublicKey;
14
- constructor(/** Master nullifier public key */ masterNullifierPublicKey, /** Master incoming viewing public key */ masterIncomingViewingPublicKey, /** Master outgoing viewing public key */ masterOutgoingViewingPublicKey, /** Master tagging viewing public key */ masterTaggingPublicKey){
15
- this.masterNullifierPublicKey = masterNullifierPublicKey;
16
- this.masterIncomingViewingPublicKey = masterIncomingViewingPublicKey;
17
- this.masterOutgoingViewingPublicKey = masterOutgoingViewingPublicKey;
18
- this.masterTaggingPublicKey = masterTaggingPublicKey;
8
+ import { PublicKey, hashPublicKey } from './public_key.js';
9
+ /**
10
+ * A non-owner's view of an account's master public keys.
11
+ *
12
+ * Only `ivpkM` is exposed as a point (since address derivation needs the curve
13
+ * point in-circuit); the other five keys are exposed as their `hashPublicKey` digests.
14
+ */ export class PublicKeys {
15
+ npkMHash;
16
+ ivpkM;
17
+ ovpkMHash;
18
+ tpkMHash;
19
+ mspkMHash;
20
+ fbpkMHash;
21
+ constructor(/** Hash of the master nullifier public key */ npkMHash, /** Master incoming viewing public key */ ivpkM, /** Hash of the master outgoing viewing public key */ ovpkMHash, /** Hash of the master tagging public key */ tpkMHash, /** Hash of the master message-signing public key */ mspkMHash, /** Hash of the master fallback public key */ fbpkMHash){
22
+ this.npkMHash = npkMHash;
23
+ this.ivpkM = ivpkM;
24
+ this.ovpkMHash = ovpkMHash;
25
+ this.tpkMHash = tpkMHash;
26
+ this.mspkMHash = mspkMHash;
27
+ this.fbpkMHash = fbpkMHash;
19
28
  }
20
29
  static get schema() {
21
30
  return z.object({
22
- masterNullifierPublicKey: schemas.Point,
23
- masterIncomingViewingPublicKey: schemas.Point,
24
- masterOutgoingViewingPublicKey: schemas.Point,
25
- masterTaggingPublicKey: schemas.Point
31
+ npkMHash: schemas.Fr,
32
+ ivpkM: schemas.Point,
33
+ ovpkMHash: schemas.Fr,
34
+ tpkMHash: schemas.Fr,
35
+ mspkMHash: schemas.Fr,
36
+ fbpkMHash: schemas.Fr
26
37
  }).transform(PublicKeys.from);
27
38
  }
28
39
  static from(fields) {
29
- return new PublicKeys(fields.masterNullifierPublicKey, fields.masterIncomingViewingPublicKey, fields.masterOutgoingViewingPublicKey, fields.masterTaggingPublicKey);
40
+ return new PublicKeys(fields.npkMHash, fields.ivpkM, fields.ovpkMHash, fields.tpkMHash, fields.mspkMHash, fields.fbpkMHash);
30
41
  }
31
42
  /**
32
43
  * Creates a PublicKeys from a plain object without Zod validation.
33
- * This method is optimized for performance and skips validation, making it suitable
34
- * for deserializing trusted data (e.g., from C++ via MessagePack).
35
- * @param obj - Plain object containing PublicKeys fields
36
- * @returns A PublicKeys instance
44
+ * Suitable for deserializing trusted data (e.g., from C++ via MessagePack).
37
45
  */ static fromPlainObject(obj) {
38
46
  if (obj instanceof PublicKeys) {
39
47
  return obj;
40
48
  }
41
- return new PublicKeys(Point.fromPlainObject(obj.masterNullifierPublicKey), Point.fromPlainObject(obj.masterIncomingViewingPublicKey), Point.fromPlainObject(obj.masterOutgoingViewingPublicKey), Point.fromPlainObject(obj.masterTaggingPublicKey));
49
+ return new PublicKeys(Fr.fromPlainObject(obj.npkMHash), PublicKey.fromPlainObject(obj.ivpkM), Fr.fromPlainObject(obj.ovpkMHash), Fr.fromPlainObject(obj.tpkMHash), Fr.fromPlainObject(obj.mspkMHash), Fr.fromPlainObject(obj.fbpkMHash));
42
50
  }
43
- hash() {
44
- return this.isEmpty() ? Fr.ZERO : poseidon2HashWithSeparator([
45
- this.masterNullifierPublicKey,
46
- this.masterIncomingViewingPublicKey,
47
- this.masterOutgoingViewingPublicKey,
48
- this.masterTaggingPublicKey
49
- ], GeneratorIndex.PUBLIC_KEYS_HASH);
51
+ async hash() {
52
+ if (this.isEmpty()) {
53
+ return Fr.ZERO;
54
+ }
55
+ // Mirror Noir's `PublicKeys::hash`: hash the six single-key digests under
56
+ // DOM_SEP__PUBLIC_KEYS_HASH. `ivpk_m` must be reduced to its single-key digest first
57
+ // (Poseidon2 over [x, y]); passing the Point directly would omit the DOM_SEP__SINGLE_PUBLIC_KEY_HASH
58
+ const ivpkMHash = await hashPublicKey(this.ivpkM);
59
+ return poseidon2HashWithSeparator([
60
+ this.npkMHash,
61
+ ivpkMHash,
62
+ this.ovpkMHash,
63
+ this.tpkMHash,
64
+ this.mspkMHash,
65
+ this.fbpkMHash
66
+ ], DomainSeparator.PUBLIC_KEYS_HASH);
50
67
  }
51
68
  isEmpty() {
52
- return this.masterNullifierPublicKey.isZero() && this.masterIncomingViewingPublicKey.isZero() && this.masterOutgoingViewingPublicKey.isZero() && this.masterTaggingPublicKey.isZero();
69
+ return this.npkMHash.isZero() && this.ivpkM.isZero() && this.ovpkMHash.isZero() && this.tpkMHash.isZero() && this.mspkMHash.isZero() && this.fbpkMHash.isZero();
53
70
  }
54
71
  static default() {
55
- return new PublicKeys(new Point(new Fr(DEFAULT_NPK_M_X), new Fr(DEFAULT_NPK_M_Y), false), new Point(new Fr(DEFAULT_IVPK_M_X), new Fr(DEFAULT_IVPK_M_Y), false), new Point(new Fr(DEFAULT_OVPK_M_X), new Fr(DEFAULT_OVPK_M_Y), false), new Point(new Fr(DEFAULT_TPK_M_X), new Fr(DEFAULT_TPK_M_Y), false));
72
+ // Precomputed `hash_public_key(PublicKey { DEFAULT_*_X, DEFAULT_*_Y })` for the hash-only keys.
73
+ // Sourced from constants.gen.ts (originally defined in
74
+ // noir-protocol-circuits/crates/types/src/constants.nr); a self-test in public_keys.nr
75
+ // (`default_hashes_match_default_points`) catches drift between the *_HASH constants and
76
+ // the underlying X/Y points.
77
+ return new PublicKeys(new Fr(DEFAULT_NPK_M_HASH), new PublicKey(new Fr(DEFAULT_IVPK_M_X), new Fr(DEFAULT_IVPK_M_Y)), new Fr(DEFAULT_OVPK_M_HASH), new Fr(DEFAULT_TPK_M_HASH), new Fr(DEFAULT_MSPK_M_HASH), new Fr(DEFAULT_FBPK_M_HASH));
56
78
  }
57
79
  static async random() {
58
- return new PublicKeys(await Point.random(), await Point.random(), await Point.random(), await Point.random());
80
+ const npkM = await PublicKey.random();
81
+ const ovpkM = await PublicKey.random();
82
+ const tpkM = await PublicKey.random();
83
+ const mspkM = await PublicKey.random();
84
+ const fbpkM = await PublicKey.random();
85
+ return new PublicKeys(await hashPublicKey(npkM), await PublicKey.random(), await hashPublicKey(ovpkM), await hashPublicKey(tpkM), await hashPublicKey(mspkM), await hashPublicKey(fbpkM));
59
86
  }
60
- /**
61
- * Determines if this PublicKeys instance is equal to the given PublicKeys instance.
62
- * Equality is based on the content of their respective buffers.
63
- *
64
- * @param other - The PublicKeys instance to compare against.
65
- * @returns True if the buffers of both instances are equal, false otherwise.
66
- */ equals(other) {
67
- return this.masterNullifierPublicKey.equals(other.masterNullifierPublicKey) && this.masterIncomingViewingPublicKey.equals(other.masterIncomingViewingPublicKey) && this.masterOutgoingViewingPublicKey.equals(other.masterOutgoingViewingPublicKey) && this.masterTaggingPublicKey.equals(other.masterTaggingPublicKey);
87
+ equals(other) {
88
+ return this.npkMHash.equals(other.npkMHash) && this.ivpkM.equals(other.ivpkM) && this.ovpkMHash.equals(other.ovpkMHash) && this.tpkMHash.equals(other.tpkMHash) && this.mspkMHash.equals(other.mspkMHash) && this.fbpkMHash.equals(other.fbpkMHash);
68
89
  }
69
90
  /**
70
91
  * Converts the PublicKeys instance into a Buffer.
@@ -73,56 +94,63 @@ export class PublicKeys {
73
94
  * @returns A Buffer representation of the PublicKeys instance.
74
95
  */ toBuffer() {
75
96
  return serializeToBuffer([
76
- this.masterNullifierPublicKey,
77
- this.masterIncomingViewingPublicKey,
78
- this.masterOutgoingViewingPublicKey,
79
- this.masterTaggingPublicKey
97
+ this.npkMHash,
98
+ this.ivpkM,
99
+ this.ovpkMHash,
100
+ this.tpkMHash,
101
+ this.mspkMHash,
102
+ this.fbpkMHash
80
103
  ]);
81
104
  }
82
- /**
83
- * Creates an PublicKeys instance from a given buffer or BufferReader.
84
- * If the input is a Buffer, it wraps it in a BufferReader before processing.
85
- * Throws an error if the input length is not equal to the expected size.
86
- *
87
- * @param buffer - The input buffer or BufferReader containing the address data.
88
- * @returns - A new PublicKeys instance with the extracted address data.
89
- */ static fromBuffer(buffer) {
105
+ static fromBuffer(buffer) {
90
106
  const reader = BufferReader.asReader(buffer);
91
- const masterNullifierPublicKey = reader.readObject(Point);
92
- const masterIncomingViewingPublicKey = reader.readObject(Point);
93
- const masterOutgoingViewingPublicKey = reader.readObject(Point);
94
- const masterTaggingPublicKey = reader.readObject(Point);
95
- return new PublicKeys(masterNullifierPublicKey, masterIncomingViewingPublicKey, masterOutgoingViewingPublicKey, masterTaggingPublicKey);
107
+ const npkMHash = Fr.fromBuffer(reader);
108
+ const ivpkM = reader.readObject(PublicKey);
109
+ const ovpkMHash = Fr.fromBuffer(reader);
110
+ const tpkMHash = Fr.fromBuffer(reader);
111
+ const mspkMHash = Fr.fromBuffer(reader);
112
+ const fbpkMHash = Fr.fromBuffer(reader);
113
+ return new PublicKeys(npkMHash, ivpkM, ovpkMHash, tpkMHash, mspkMHash, fbpkMHash);
96
114
  }
97
115
  toNoirStruct() {
98
- // We need to use lowercase identifiers as those are what the noir interface expects
99
- return {
100
- // TODO(#6337): Directly dump account.publicKeys here
101
- /* eslint-disable camelcase */ npk_m: this.masterNullifierPublicKey.toWrappedNoirStruct(),
102
- ivpk_m: this.masterIncomingViewingPublicKey.toWrappedNoirStruct(),
103
- ovpk_m: this.masterOutgoingViewingPublicKey.toWrappedNoirStruct(),
104
- tpk_m: this.masterTaggingPublicKey.toWrappedNoirStruct()
116
+ // We need to use lowercase identifiers as those are what the noir interface expects.
117
+ /* eslint-disable camelcase */ return {
118
+ npk_m_hash: this.npkMHash,
119
+ ivpk_m: this.ivpkM.toWrappedNoirStruct(),
120
+ ovpk_m_hash: this.ovpkMHash,
121
+ tpk_m_hash: this.tpkMHash,
122
+ mspk_m_hash: this.mspkMHash,
123
+ fbpk_m_hash: this.fbpkMHash
105
124
  };
106
- }
125
+ /* eslint-enable camelcase */ }
107
126
  /**
108
- * Serializes the payload to an array of fields
109
- * @returns The fields of the payload
127
+ * Wire-format fields matching Noir's struct flattening of `PublicKeys`:
128
+ * `[npk_m_hash, ivpk_m.x, ivpk_m.y, ovpk_m_hash, tpk_m_hash, mspk_m_hash, fbpk_m_hash]`
129
+ * (7 fields).
110
130
  */ toFields() {
111
131
  return [
112
- ...this.masterNullifierPublicKey.toFields(),
113
- ...this.masterIncomingViewingPublicKey.toFields(),
114
- ...this.masterOutgoingViewingPublicKey.toFields(),
115
- ...this.masterTaggingPublicKey.toFields()
132
+ this.npkMHash,
133
+ this.ivpkM.x,
134
+ this.ivpkM.y,
135
+ this.ovpkMHash,
136
+ this.tpkMHash,
137
+ this.mspkMHash,
138
+ this.fbpkMHash
116
139
  ];
117
140
  }
118
- // TOOD: This is used in foundation/src/abi/encoder. This is probably non-optimal but I did not want
119
- // to spend too much time on the encoder now. It probably needs a refactor.
141
+ // Used in foundation/src/abi/encoder. Probably non-optimal but the encoder needs a refactor.
120
142
  encodeToNoir() {
121
143
  return this.toFields();
122
144
  }
123
145
  static fromFields(fields) {
124
146
  const reader = FieldReader.asReader(fields);
125
- return new PublicKeys(reader.readObject(Point), reader.readObject(Point), reader.readObject(Point), reader.readObject(Point));
147
+ const npkMHash = reader.readField();
148
+ const ivpkM = reader.readObject(PublicKey);
149
+ const ovpkMHash = reader.readField();
150
+ const tpkMHash = reader.readField();
151
+ const mspkMHash = reader.readField();
152
+ const fbpkMHash = reader.readField();
153
+ return new PublicKeys(npkMHash, ivpkM, ovpkMHash, tpkMHash, mspkMHash, fbpkMHash);
126
154
  }
127
155
  toString() {
128
156
  return bufferToHex(this.toBuffer());
@@ -1,10 +1,10 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  export function getKeyGenerator(prefix) {
3
3
  const map = {
4
- n: GeneratorIndex.NHK_M,
5
- iv: GeneratorIndex.IVSK_M,
6
- ov: GeneratorIndex.OVSK_M,
7
- t: GeneratorIndex.TSK_M
4
+ n: DomainSeparator.NHK_M,
5
+ iv: DomainSeparator.IVSK_M,
6
+ ov: DomainSeparator.OVSK_M,
7
+ t: DomainSeparator.TSK_M
8
8
  };
9
9
  return map[prefix];
10
10
  }