@aztec/stdlib 0.0.1-commit.db765a8 → 0.0.1-commit.ddcf04837

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 (455) hide show
  1. package/dest/abi/abi.d.ts +138 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +10 -2
  4. package/dest/abi/authorization_selector.d.ts +3 -6
  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/decoder.d.ts +5 -44
  10. package/dest/abi/decoder.d.ts.map +1 -1
  11. package/dest/abi/decoder.js +12 -67
  12. package/dest/abi/event_selector.d.ts +3 -6
  13. package/dest/abi/event_selector.d.ts.map +1 -1
  14. package/dest/abi/function_selector.d.ts +3 -6
  15. package/dest/abi/function_selector.d.ts.map +1 -1
  16. package/dest/abi/function_selector.js +2 -4
  17. package/dest/abi/function_signature_decoder.d.ts +43 -0
  18. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  19. package/dest/abi/function_signature_decoder.js +66 -0
  20. package/dest/abi/index.d.ts +2 -1
  21. package/dest/abi/index.d.ts.map +1 -1
  22. package/dest/abi/index.js +1 -0
  23. package/dest/abi/note_selector.d.ts +3 -6
  24. package/dest/abi/note_selector.d.ts.map +1 -1
  25. package/dest/abi/note_selector.js +1 -3
  26. package/dest/abi/selector.d.ts +2 -2
  27. package/dest/abi/selector.d.ts.map +1 -1
  28. package/dest/abi/selector.js +1 -1
  29. package/dest/avm/revert_code.d.ts +8 -18
  30. package/dest/avm/revert_code.d.ts.map +1 -1
  31. package/dest/avm/revert_code.js +15 -30
  32. package/dest/aztec-address/index.d.ts +3 -6
  33. package/dest/aztec-address/index.d.ts.map +1 -1
  34. package/dest/aztec-address/index.js +2 -4
  35. package/dest/block/block_data.d.ts +8 -8
  36. package/dest/block/block_data.d.ts.map +1 -1
  37. package/dest/block/block_data.js +2 -2
  38. package/dest/block/block_hash.d.ts +11 -10
  39. package/dest/block/block_hash.d.ts.map +1 -1
  40. package/dest/block/block_hash.js +10 -9
  41. package/dest/block/l2_block.d.ts +9 -1
  42. package/dest/block/l2_block.d.ts.map +1 -1
  43. package/dest/block/l2_block.js +12 -2
  44. package/dest/block/l2_block_info.d.ts +6 -5
  45. package/dest/block/l2_block_info.d.ts.map +1 -1
  46. package/dest/block/l2_block_info.js +6 -5
  47. package/dest/block/l2_block_source.d.ts +95 -10
  48. package/dest/block/l2_block_source.d.ts.map +1 -1
  49. package/dest/block/l2_block_source.js +1 -0
  50. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  51. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  52. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  53. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  54. package/dest/block/l2_block_stream/l2_tips_store_base.js +18 -5
  55. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  56. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  57. package/dest/block/test/l2_tips_store_test_suite.js +4 -3
  58. package/dest/checkpoint/checkpoint.d.ts +8 -1
  59. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  60. package/dest/checkpoint/checkpoint.js +18 -5
  61. package/dest/checkpoint/checkpoint_data.d.ts +71 -5
  62. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  63. package/dest/checkpoint/checkpoint_data.js +10 -0
  64. package/dest/checkpoint/index.d.ts +2 -1
  65. package/dest/checkpoint/index.d.ts.map +1 -1
  66. package/dest/checkpoint/index.js +1 -0
  67. package/dest/checkpoint/validate.d.ts +36 -0
  68. package/dest/checkpoint/validate.d.ts.map +1 -0
  69. package/dest/checkpoint/validate.js +120 -0
  70. package/dest/config/chain-config.d.ts +1 -1
  71. package/dest/config/chain-config.d.ts.map +1 -1
  72. package/dest/config/chain-config.js +7 -1
  73. package/dest/config/index.d.ts +2 -1
  74. package/dest/config/index.d.ts.map +1 -1
  75. package/dest/config/index.js +1 -0
  76. package/dest/config/pipelining-config.d.ts +19 -0
  77. package/dest/config/pipelining-config.d.ts.map +1 -0
  78. package/dest/config/pipelining-config.js +18 -0
  79. package/dest/config/sequencer-config.d.ts +3 -3
  80. package/dest/config/sequencer-config.d.ts.map +1 -1
  81. package/dest/config/sequencer-config.js +10 -4
  82. package/dest/contract/contract_address.d.ts +3 -3
  83. package/dest/contract/contract_address.js +3 -3
  84. package/dest/contract/contract_class_id.d.ts +2 -2
  85. package/dest/contract/contract_class_id.js +2 -2
  86. package/dest/contract/index.d.ts +1 -3
  87. package/dest/contract/index.d.ts.map +1 -1
  88. package/dest/contract/index.js +0 -2
  89. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  90. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  91. package/dest/contract/interfaces/contract_class.js +1 -28
  92. package/dest/epoch-helpers/index.d.ts +11 -1
  93. package/dest/epoch-helpers/index.d.ts.map +1 -1
  94. package/dest/epoch-helpers/index.js +16 -2
  95. package/dest/file-store/factory.d.ts +4 -3
  96. package/dest/file-store/factory.d.ts.map +1 -1
  97. package/dest/file-store/factory.js +2 -2
  98. package/dest/file-store/http.d.ts +9 -2
  99. package/dest/file-store/http.d.ts.map +1 -1
  100. package/dest/file-store/http.js +20 -9
  101. package/dest/file-store/index.d.ts +2 -1
  102. package/dest/file-store/index.d.ts.map +1 -1
  103. package/dest/gas/fee_math.d.ts +49 -0
  104. package/dest/gas/fee_math.d.ts.map +1 -0
  105. package/dest/gas/fee_math.js +80 -0
  106. package/dest/gas/gas_fees.d.ts +1 -1
  107. package/dest/gas/gas_fees.d.ts.map +1 -1
  108. package/dest/gas/gas_fees.js +10 -1
  109. package/dest/gas/gas_settings.d.ts +40 -3
  110. package/dest/gas/gas_settings.d.ts.map +1 -1
  111. package/dest/gas/gas_settings.js +50 -6
  112. package/dest/gas/index.d.ts +2 -1
  113. package/dest/gas/index.d.ts.map +1 -1
  114. package/dest/gas/index.js +1 -0
  115. package/dest/ha-signing/config.d.ts +49 -14
  116. package/dest/ha-signing/config.d.ts.map +1 -1
  117. package/dest/ha-signing/config.js +20 -15
  118. package/dest/ha-signing/index.d.ts +4 -3
  119. package/dest/ha-signing/index.d.ts.map +1 -1
  120. package/dest/ha-signing/index.js +3 -2
  121. package/dest/ha-signing/local_config.d.ts +63 -0
  122. package/dest/ha-signing/local_config.d.ts.map +1 -0
  123. package/dest/ha-signing/local_config.js +24 -0
  124. package/dest/ha-signing/types.d.ts +37 -32
  125. package/dest/ha-signing/types.d.ts.map +1 -1
  126. package/dest/ha-signing/types.js +13 -6
  127. package/dest/hash/hash.d.ts +19 -1
  128. package/dest/hash/hash.d.ts.map +1 -1
  129. package/dest/hash/hash.js +29 -0
  130. package/dest/interfaces/allowed_element.d.ts +25 -1
  131. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  132. package/dest/interfaces/allowed_element.js +8 -2
  133. package/dest/interfaces/archiver.d.ts +1 -1
  134. package/dest/interfaces/archiver.d.ts.map +1 -1
  135. package/dest/interfaces/archiver.js +6 -3
  136. package/dest/interfaces/aztec-node-admin.d.ts +73 -23
  137. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  138. package/dest/interfaces/aztec-node-admin.js +3 -3
  139. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  140. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  141. package/dest/interfaces/aztec-node-debug.js +18 -0
  142. package/dest/interfaces/aztec-node.d.ts +21 -6
  143. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  144. package/dest/interfaces/aztec-node.js +7 -2
  145. package/dest/interfaces/block-builder.d.ts +38 -11
  146. package/dest/interfaces/block-builder.d.ts.map +1 -1
  147. package/dest/interfaces/block-builder.js +12 -5
  148. package/dest/interfaces/client.d.ts +2 -1
  149. package/dest/interfaces/client.d.ts.map +1 -1
  150. package/dest/interfaces/client.js +1 -0
  151. package/dest/interfaces/configs.d.ts +47 -7
  152. package/dest/interfaces/configs.d.ts.map +1 -1
  153. package/dest/interfaces/configs.js +3 -1
  154. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  155. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  156. package/dest/interfaces/merkle_tree_operations.d.ts +12 -21
  157. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  158. package/dest/interfaces/prover-client.d.ts +6 -1
  159. package/dest/interfaces/prover-client.d.ts.map +1 -1
  160. package/dest/interfaces/prover-client.js +7 -4
  161. package/dest/interfaces/proving-job.d.ts +200 -200
  162. package/dest/interfaces/slasher.d.ts +1 -10
  163. package/dest/interfaces/slasher.d.ts.map +1 -1
  164. package/dest/interfaces/slasher.js +0 -2
  165. package/dest/interfaces/validator.d.ts +108 -40
  166. package/dest/interfaces/validator.d.ts.map +1 -1
  167. package/dest/interfaces/validator.js +7 -5
  168. package/dest/interfaces/world_state.d.ts +5 -4
  169. package/dest/interfaces/world_state.d.ts.map +1 -1
  170. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +2 -1
  171. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  172. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -0
  173. package/dest/kv-store/config.d.ts +17 -0
  174. package/dest/kv-store/config.d.ts.map +1 -0
  175. package/dest/kv-store/config.js +26 -0
  176. package/dest/kv-store/index.d.ts +2 -0
  177. package/dest/kv-store/index.d.ts.map +1 -0
  178. package/dest/kv-store/index.js +1 -0
  179. package/dest/l1-contracts/index.d.ts +2 -2
  180. package/dest/l1-contracts/index.d.ts.map +1 -1
  181. package/dest/l1-contracts/index.js +1 -1
  182. package/dest/logs/extended_directional_app_tagging_secret.d.ts +4 -4
  183. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -1
  184. package/dest/logs/extended_directional_app_tagging_secret.js +12 -5
  185. package/dest/logs/index.d.ts +2 -1
  186. package/dest/logs/index.d.ts.map +1 -1
  187. package/dest/logs/index.js +1 -0
  188. package/dest/logs/log_filter.d.ts +4 -1
  189. package/dest/logs/log_filter.d.ts.map +1 -1
  190. package/dest/logs/log_filter.js +2 -1
  191. package/dest/logs/log_id.d.ts +1 -1
  192. package/dest/logs/log_id.d.ts.map +1 -1
  193. package/dest/logs/log_id.js +1 -2
  194. package/dest/logs/message_context.d.ts +4 -7
  195. package/dest/logs/message_context.d.ts.map +1 -1
  196. package/dest/logs/message_context.js +23 -9
  197. package/dest/logs/pending_tagged_log.d.ts +2 -3
  198. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  199. package/dest/logs/pending_tagged_log.js +2 -2
  200. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  201. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  202. package/dest/logs/shared_secret_derivation.js +15 -9
  203. package/dest/logs/siloed_tag.d.ts +8 -7
  204. package/dest/logs/siloed_tag.d.ts.map +1 -1
  205. package/dest/logs/siloed_tag.js +11 -3
  206. package/dest/logs/tag.d.ts +5 -6
  207. package/dest/logs/tag.d.ts.map +1 -1
  208. package/dest/logs/tag.js +4 -0
  209. package/dest/logs/tagging_index_range.d.ts +40 -0
  210. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  211. package/dest/logs/tagging_index_range.js +8 -0
  212. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  213. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  214. package/dest/logs/tx_scoped_l2_log.js +7 -0
  215. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  216. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  217. package/dest/messaging/l1_to_l2_message.js +11 -13
  218. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  219. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  220. package/dest/messaging/l2_to_l1_membership.d.ts +32 -6
  221. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  222. package/dest/messaging/l2_to_l1_membership.js +69 -26
  223. package/dest/noir/index.d.ts +3 -3
  224. package/dest/noir/index.d.ts.map +1 -1
  225. package/dest/note/note_dao.d.ts +1 -1
  226. package/dest/note/note_dao.d.ts.map +1 -1
  227. package/dest/note/note_dao.js +1 -4
  228. package/dest/p2p/block_proposal.d.ts +6 -8
  229. package/dest/p2p/block_proposal.d.ts.map +1 -1
  230. package/dest/p2p/block_proposal.js +4 -9
  231. package/dest/p2p/checkpoint_attestation.d.ts +4 -6
  232. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  233. package/dest/p2p/checkpoint_attestation.js +2 -7
  234. package/dest/p2p/checkpoint_proposal.d.ts +8 -15
  235. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  236. package/dest/p2p/checkpoint_proposal.js +5 -34
  237. package/dest/p2p/gossipable.d.ts +4 -4
  238. package/dest/p2p/gossipable.d.ts.map +1 -1
  239. package/dest/p2p/peer_error.d.ts +3 -1
  240. package/dest/p2p/peer_error.d.ts.map +1 -1
  241. package/dest/p2p/peer_error.js +5 -0
  242. package/dest/proofs/chonk_proof.d.ts +46 -2
  243. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  244. package/dest/proofs/chonk_proof.js +85 -10
  245. package/dest/slashing/index.d.ts +2 -3
  246. package/dest/slashing/index.d.ts.map +1 -1
  247. package/dest/slashing/index.js +1 -2
  248. package/dest/slashing/serialization.d.ts +2 -6
  249. package/dest/slashing/serialization.d.ts.map +1 -1
  250. package/dest/slashing/serialization.js +0 -60
  251. package/dest/slashing/types.d.ts +4 -90
  252. package/dest/slashing/types.d.ts.map +1 -1
  253. package/dest/slashing/types.js +0 -14
  254. package/dest/slashing/{tally.d.ts → votes.d.ts} +5 -6
  255. package/dest/slashing/votes.d.ts.map +1 -0
  256. package/dest/slashing/{tally.js → votes.js} +19 -10
  257. package/dest/tests/factories.d.ts +2 -4
  258. package/dest/tests/factories.d.ts.map +1 -1
  259. package/dest/tests/factories.js +11 -28
  260. package/dest/tests/mocks.d.ts +4 -2
  261. package/dest/tests/mocks.d.ts.map +1 -1
  262. package/dest/tests/mocks.js +27 -27
  263. package/dest/timetable/index.d.ts +51 -1
  264. package/dest/timetable/index.d.ts.map +1 -1
  265. package/dest/timetable/index.js +204 -14
  266. package/dest/tx/block_header.d.ts +4 -2
  267. package/dest/tx/block_header.d.ts.map +1 -1
  268. package/dest/tx/block_header.js +5 -1
  269. package/dest/tx/capsule.d.ts +6 -2
  270. package/dest/tx/capsule.d.ts.map +1 -1
  271. package/dest/tx/capsule.js +9 -3
  272. package/dest/tx/fee_provider.d.ts +10 -0
  273. package/dest/tx/fee_provider.d.ts.map +1 -0
  274. package/dest/tx/fee_provider.js +1 -0
  275. package/dest/tx/global_variable_builder.d.ts +3 -4
  276. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  277. package/dest/tx/index.d.ts +2 -1
  278. package/dest/tx/index.d.ts.map +1 -1
  279. package/dest/tx/index.js +1 -0
  280. package/dest/tx/indexed_tx_effect.d.ts +1 -1
  281. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  282. package/dest/tx/indexed_tx_effect.js +1 -2
  283. package/dest/tx/private_execution_result.d.ts +6 -6
  284. package/dest/tx/private_execution_result.d.ts.map +1 -1
  285. package/dest/tx/private_execution_result.js +6 -6
  286. package/dest/tx/profiling.d.ts +14 -2
  287. package/dest/tx/profiling.d.ts.map +1 -1
  288. package/dest/tx/profiling.js +13 -3
  289. package/dest/tx/simulated_tx.d.ts +112 -4
  290. package/dest/tx/simulated_tx.d.ts.map +1 -1
  291. package/dest/tx/simulated_tx.js +3 -3
  292. package/dest/tx/tx.d.ts +8 -7
  293. package/dest/tx/tx.d.ts.map +1 -1
  294. package/dest/tx/tx.js +18 -6
  295. package/dest/tx/tx_receipt.d.ts +14 -5
  296. package/dest/tx/tx_receipt.d.ts.map +1 -1
  297. package/dest/tx/tx_receipt.js +14 -18
  298. package/dest/tx/validator/error_texts.d.ts +8 -1
  299. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  300. package/dest/tx/validator/error_texts.js +9 -0
  301. package/dest/update-checker/index.d.ts +3 -2
  302. package/dest/update-checker/index.d.ts.map +1 -1
  303. package/dest/update-checker/index.js +2 -1
  304. package/dest/update-checker/package_version.d.ts +3 -0
  305. package/dest/update-checker/package_version.d.ts.map +1 -0
  306. package/dest/update-checker/package_version.js +24 -0
  307. package/dest/update-checker/version_checker.d.ts +25 -0
  308. package/dest/update-checker/version_checker.d.ts.map +1 -0
  309. package/dest/update-checker/version_checker.js +50 -0
  310. package/dest/validators/errors.d.ts +6 -1
  311. package/dest/validators/errors.d.ts.map +1 -1
  312. package/dest/validators/errors.js +7 -0
  313. package/dest/versioning/versioning.d.ts +4 -2
  314. package/dest/versioning/versioning.d.ts.map +1 -1
  315. package/dest/versioning/versioning.js +4 -1
  316. package/dest/world-state/genesis_data.d.ts +11 -0
  317. package/dest/world-state/genesis_data.d.ts.map +1 -0
  318. package/dest/world-state/genesis_data.js +4 -0
  319. package/dest/world-state/index.d.ts +2 -1
  320. package/dest/world-state/index.d.ts.map +1 -1
  321. package/dest/world-state/index.js +1 -0
  322. package/package.json +10 -9
  323. package/src/abi/abi.ts +25 -2
  324. package/src/abi/authorization_selector.ts +2 -8
  325. package/src/abi/buffer.ts +25 -4
  326. package/src/abi/decoder.ts +23 -78
  327. package/src/abi/event_selector.ts +2 -8
  328. package/src/abi/function_selector.ts +4 -13
  329. package/src/abi/function_signature_decoder.ts +77 -0
  330. package/src/abi/index.ts +1 -0
  331. package/src/abi/note_selector.ts +3 -12
  332. package/src/abi/selector.ts +1 -1
  333. package/src/avm/revert_code.ts +25 -39
  334. package/src/aztec-address/index.ts +4 -10
  335. package/src/block/block_data.ts +3 -4
  336. package/src/block/block_hash.ts +21 -14
  337. package/src/block/l2_block.ts +13 -1
  338. package/src/block/l2_block_info.ts +8 -6
  339. package/src/block/l2_block_source.ts +26 -9
  340. package/src/block/l2_block_stream/interfaces.ts +6 -2
  341. package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
  342. package/src/block/test/l2_tips_store_test_suite.ts +9 -2
  343. package/src/checkpoint/checkpoint.ts +23 -4
  344. package/src/checkpoint/checkpoint_data.ts +40 -4
  345. package/src/checkpoint/index.ts +1 -0
  346. package/src/checkpoint/validate.ts +230 -0
  347. package/src/config/chain-config.ts +7 -1
  348. package/src/config/index.ts +1 -0
  349. package/src/config/pipelining-config.ts +31 -0
  350. package/src/config/sequencer-config.ts +15 -5
  351. package/src/contract/contract_address.ts +3 -3
  352. package/src/contract/contract_class_id.ts +2 -2
  353. package/src/contract/index.ts +0 -2
  354. package/src/contract/interfaces/contract_class.ts +2 -82
  355. package/src/epoch-helpers/index.ts +27 -0
  356. package/src/file-store/factory.ts +13 -4
  357. package/src/file-store/http.ts +29 -10
  358. package/src/file-store/index.ts +1 -0
  359. package/src/gas/README.md +154 -0
  360. package/src/gas/fee_math.ts +120 -0
  361. package/src/gas/gas_fees.ts +12 -4
  362. package/src/gas/gas_settings.ts +65 -12
  363. package/src/gas/index.ts +1 -0
  364. package/src/ha-signing/config.ts +45 -38
  365. package/src/ha-signing/index.ts +12 -1
  366. package/src/ha-signing/local_config.ts +46 -0
  367. package/src/ha-signing/types.ts +48 -34
  368. package/src/hash/hash.ts +34 -0
  369. package/src/interfaces/allowed_element.ts +28 -4
  370. package/src/interfaces/archiver.ts +6 -3
  371. package/src/interfaces/aztec-node-admin.ts +5 -7
  372. package/src/interfaces/aztec-node-debug.ts +40 -0
  373. package/src/interfaces/aztec-node.ts +39 -5
  374. package/src/interfaces/block-builder.ts +56 -13
  375. package/src/interfaces/client.ts +1 -0
  376. package/src/interfaces/configs.ts +15 -4
  377. package/src/interfaces/l2_logs_source.ts +4 -1
  378. package/src/interfaces/merkle_tree_operations.ts +11 -20
  379. package/src/interfaces/prover-client.ts +10 -5
  380. package/src/interfaces/slasher.ts +0 -6
  381. package/src/interfaces/validator.ts +61 -37
  382. package/src/interfaces/world_state.ts +4 -3
  383. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +9 -0
  384. package/src/kv-store/config.ts +36 -0
  385. package/src/kv-store/index.ts +1 -0
  386. package/src/l1-contracts/index.ts +1 -1
  387. package/src/logs/extended_directional_app_tagging_secret.ts +19 -8
  388. package/src/logs/index.ts +1 -0
  389. package/src/logs/log_filter.ts +5 -0
  390. package/src/logs/log_id.ts +1 -2
  391. package/src/logs/message_context.ts +17 -7
  392. package/src/logs/pending_tagged_log.ts +1 -3
  393. package/src/logs/shared_secret_derivation.ts +21 -10
  394. package/src/logs/siloed_tag.ts +15 -11
  395. package/src/logs/tag.ts +8 -8
  396. package/src/logs/tagging_index_range.ts +24 -0
  397. package/src/logs/tx_scoped_l2_log.ts +16 -0
  398. package/src/messaging/l1_to_l2_message.ts +12 -9
  399. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  400. package/src/messaging/l2_to_l1_membership.ts +98 -33
  401. package/src/noir/index.ts +2 -2
  402. package/src/note/note_dao.ts +1 -4
  403. package/src/p2p/block_proposal.ts +13 -9
  404. package/src/p2p/checkpoint_attestation.ts +5 -9
  405. package/src/p2p/checkpoint_proposal.ts +19 -48
  406. package/src/p2p/gossipable.ts +4 -4
  407. package/src/p2p/peer_error.ts +7 -0
  408. package/src/proofs/chonk_proof.ts +91 -5
  409. package/src/slashing/index.ts +1 -2
  410. package/src/slashing/serialization.ts +1 -81
  411. package/src/slashing/types.ts +3 -35
  412. package/src/slashing/{tally.ts → votes.ts} +22 -4
  413. package/src/tests/factories.ts +5 -34
  414. package/src/tests/mocks.ts +33 -18
  415. package/src/timetable/index.ts +293 -13
  416. package/src/tx/block_header.ts +8 -2
  417. package/src/tx/capsule.ts +10 -2
  418. package/src/tx/fee_provider.ts +10 -0
  419. package/src/tx/global_variable_builder.ts +2 -3
  420. package/src/tx/index.ts +1 -0
  421. package/src/tx/indexed_tx_effect.ts +1 -2
  422. package/src/tx/private_execution_result.ts +5 -5
  423. package/src/tx/profiling.ts +11 -2
  424. package/src/tx/simulated_tx.ts +6 -2
  425. package/src/tx/tx.ts +22 -13
  426. package/src/tx/tx_receipt.ts +18 -16
  427. package/src/tx/validator/error_texts.ts +11 -0
  428. package/src/update-checker/index.ts +2 -1
  429. package/src/update-checker/package_version.ts +30 -0
  430. package/src/update-checker/version_checker.ts +65 -0
  431. package/src/validators/errors.ts +9 -0
  432. package/src/versioning/versioning.ts +4 -1
  433. package/src/world-state/genesis_data.ts +15 -0
  434. package/src/world-state/index.ts +1 -0
  435. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  436. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  437. package/dest/contract/private_function_membership_proof.js +0 -124
  438. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  439. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  440. package/dest/contract/utility_function_membership_proof.js +0 -87
  441. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  442. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  443. package/dest/l1-contracts/slash_factory.js +0 -158
  444. package/dest/slashing/empire.d.ts +0 -31
  445. package/dest/slashing/empire.d.ts.map +0 -1
  446. package/dest/slashing/empire.js +0 -87
  447. package/dest/slashing/tally.d.ts.map +0 -1
  448. package/dest/update-checker/update-checker.d.ts +0 -49
  449. package/dest/update-checker/update-checker.d.ts.map +0 -1
  450. package/dest/update-checker/update-checker.js +0 -130
  451. package/src/contract/private_function_membership_proof.ts +0 -167
  452. package/src/contract/utility_function_membership_proof.ts +0 -118
  453. package/src/l1-contracts/slash_factory.ts +0 -180
  454. package/src/slashing/empire.ts +0 -104
  455. package/src/update-checker/update-checker.ts +0 -166
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/kv-store/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,0BAA0B,CAAC;AAC9G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,CAAC,eAAe,CAgBlE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CAEtD"}
@@ -0,0 +1,26 @@
1
+ import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
2
+ import { getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
3
+ export const dataConfigMappings = {
4
+ dataDirectory: {
5
+ env: 'DATA_DIRECTORY',
6
+ description: 'Optional dir to store data. If omitted will store in memory.'
7
+ },
8
+ dataStoreMapSizeKb: {
9
+ env: 'DATA_STORE_MAP_SIZE_KB',
10
+ description: 'The maximum possible size of a data store DB in KB. Can be overridden by component-specific options.',
11
+ ...numberConfigHelper(128 * 1_024 * 1_024)
12
+ },
13
+ l1Contracts: {
14
+ description: 'The deployed L1 contract addresses',
15
+ nested: {
16
+ rollupAddress: l1ContractAddressesMapping.rollupAddress
17
+ }
18
+ }
19
+ };
20
+ /**
21
+ * Returns the archiver configuration from the environment variables.
22
+ * Note: If an environment variable is not set, the default value is used.
23
+ * @returns The archiver configuration.
24
+ */ export function getDataConfigFromEnv() {
25
+ return getConfigFromMappings(dataConfigMappings);
26
+ }
@@ -0,0 +1,2 @@
1
+ export * from './config.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rdi1zdG9yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kv-store/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './config.js';
@@ -1,2 +1,2 @@
1
- export * from './slash_factory.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sMS1jb250cmFjdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyJ9
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sMS1jb250cmFjdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/l1-contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/l1-contracts/index.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- export * from './slash_factory.js';
1
+ // No exports.
@@ -18,10 +18,10 @@ import type { CompleteAddress } from '../contract/complete_address.js';
18
18
  export declare class ExtendedDirectionalAppTaggingSecret {
19
19
  readonly secret: Fr;
20
20
  readonly app: AztecAddress;
21
- private constructor();
21
+ constructor(secret: Fr, app: AztecAddress);
22
22
  /**
23
23
  * Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
24
- * secret.
24
+ * secret. Returns undefined if `externalAddress` is an invalid address.
25
25
  *
26
26
  * @param localAddress - The complete address of entity A in the shared tagging secret derivation scheme
27
27
  * @param localIvsk - The incoming viewing secret key of entity A
@@ -30,7 +30,7 @@ export declare class ExtendedDirectionalAppTaggingSecret {
30
30
  * @param recipient - Recipient of the log. Defines the "direction of the secret".
31
31
  * @returns The secret that can be used along with an index to compute a tag to be included in a log.
32
32
  */
33
- static compute(localAddress: CompleteAddress, localIvsk: Fq, externalAddress: AztecAddress, app: AztecAddress, recipient: AztecAddress): Promise<ExtendedDirectionalAppTaggingSecret>;
33
+ static compute(localAddress: CompleteAddress, localIvsk: Fq, externalAddress: AztecAddress, app: AztecAddress, recipient: AztecAddress): Promise<ExtendedDirectionalAppTaggingSecret | undefined>;
34
34
  toString(): string;
35
35
  static fromString(str: string): ExtendedDirectionalAppTaggingSecret;
36
36
  }
@@ -44,4 +44,4 @@ export declare const ExtendedDirectionalAppTaggingSecretSchema: z.ZodObject<{
44
44
  secret: string;
45
45
  app?: any;
46
46
  }>;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRfZGlyZWN0aW9uYWxfYXBwX3RhZ2dpbmdfc2VjcmV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9leHRlbmRlZF9kaXJlY3Rpb25hbF9hcHBfdGFnZ2luZ19zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3ZFOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHFCQUFhLG1DQUFtQzthQUU1QixNQUFNLEVBQUUsRUFBRTthQUNWLEdBQUcsRUFBRSxZQUFZO0lBRm5DLE9BQU8sZUFHSDtJQUVKOzs7Ozs7Ozs7O09BVUc7SUFDSCxPQUFhLE9BQU8sQ0FDbEIsWUFBWSxFQUFFLGVBQWUsRUFDN0IsU0FBUyxFQUFFLEVBQUUsRUFDYixlQUFlLEVBQUUsWUFBWSxFQUM3QixHQUFHLEVBQUUsWUFBWSxFQUNqQixTQUFTLEVBQUUsWUFBWSxHQUN0QixPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FNOUM7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxtQ0FBbUMsQ0FHbEU7Q0FDRjtBQW9CRCxlQUFPLE1BQU0seUNBQXlDOzs7Ozs7Ozs7RUFHcEQsQ0FBQyJ9
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWRfZGlyZWN0aW9uYWxfYXBwX3RhZ2dpbmdfc2VjcmV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9leHRlbmRlZF9kaXJlY3Rpb25hbF9hcHBfdGFnZ2luZ19zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3ZFOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHFCQUFhLG1DQUFtQzthQUU1QixNQUFNLEVBQUUsRUFBRTthQUNWLEdBQUcsRUFBRSxZQUFZO0lBRm5DLFlBQ2tCLE1BQU0sRUFBRSxFQUFFLEVBQ1YsR0FBRyxFQUFFLFlBQVksRUFDL0I7SUFFSjs7Ozs7Ozs7OztPQVVHO0lBQ0gsT0FBYSxPQUFPLENBQ2xCLFlBQVksRUFBRSxlQUFlLEVBQzdCLFNBQVMsRUFBRSxFQUFFLEVBQ2IsZUFBZSxFQUFFLFlBQVksRUFDN0IsR0FBRyxFQUFFLFlBQVksRUFDakIsU0FBUyxFQUFFLFlBQVksR0FDdEIsT0FBTyxDQUFDLG1DQUFtQyxHQUFHLFNBQVMsQ0FBQyxDQVUxRDtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLG1DQUFtQyxDQUdsRTtDQUNGO0FBMkJELGVBQU8sTUFBTSx5Q0FBeUM7Ozs7Ozs7OztFQUdwRCxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"extended_directional_app_tagging_secret.d.ts","sourceRoot":"","sources":["../../src/logs/extended_directional_app_tagging_secret.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE;;;;;;;;;;;;GAYG;AACH,qBAAa,mCAAmC;aAE5B,MAAM,EAAE,EAAE;aACV,GAAG,EAAE,YAAY;IAFnC,OAAO,eAGH;IAEJ;;;;;;;;;;OAUG;IACH,OAAa,OAAO,CAClB,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,EAAE,EACb,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,mCAAmC,CAAC,CAM9C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,mCAAmC,CAGlE;CACF;AAoBD,eAAO,MAAM,yCAAyC;;;;;;;;;EAGpD,CAAC"}
1
+ {"version":3,"file":"extended_directional_app_tagging_secret.d.ts","sourceRoot":"","sources":["../../src/logs/extended_directional_app_tagging_secret.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE;;;;;;;;;;;;GAYG;AACH,qBAAa,mCAAmC;aAE5B,MAAM,EAAE,EAAE;aACV,GAAG,EAAE,YAAY;IAFnC,YACkB,MAAM,EAAE,EAAE,EACV,GAAG,EAAE,YAAY,EAC/B;IAEJ;;;;;;;;;;OAUG;IACH,OAAa,OAAO,CAClB,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,EAAE,EACb,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,mCAAmC,GAAG,SAAS,CAAC,CAU1D;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,mCAAmC,CAGlE;CACF;AA2BD,eAAO,MAAM,yCAAyC;;;;;;;;;EAGpD,CAAC"}
@@ -25,7 +25,7 @@ import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
25
25
  }
26
26
  /**
27
27
  * Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
28
- * secret.
28
+ * secret. Returns undefined if `externalAddress` is an invalid address.
29
29
  *
30
30
  * @param localAddress - The complete address of entity A in the shared tagging secret derivation scheme
31
31
  * @param localIvsk - The incoming viewing secret key of entity A
@@ -35,6 +35,9 @@ import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
35
35
  * @returns The secret that can be used along with an index to compute a tag to be included in a log.
36
36
  */ static async compute(localAddress, localIvsk, externalAddress, app, recipient) {
37
37
  const taggingSecretPoint = await computeSharedTaggingSecret(localAddress, localIvsk, externalAddress);
38
+ if (!taggingSecretPoint) {
39
+ return undefined;
40
+ }
38
41
  const appTaggingSecret = await poseidon2Hash([
39
42
  taggingSecretPoint.x,
40
43
  taggingSecretPoint.y,
@@ -54,13 +57,17 @@ import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
54
57
  return new ExtendedDirectionalAppTaggingSecret(Fr.fromString(secretStr), AztecAddress.fromString(appStr));
55
58
  }
56
59
  }
57
- // Returns shared tagging secret computed with Diffie-Hellman key exchange.
60
+ // Returns shared tagging secret computed with Diffie-Hellman key exchange, or undefined if `externalAddress` is an
61
+ // invalid address.
58
62
  async function computeSharedTaggingSecret(localAddress, localIvsk, externalAddress) {
59
- const knownPreaddress = await computePreaddress(await localAddress.publicKeys.hash(), localAddress.partialAddress);
60
- // TODO: #8970 - Computation of address point from x coordinate might fail
61
- const externalAddressPoint = await externalAddress.toAddressPoint();
62
63
  // Given A (local complete address) -> B (external address) and h == preaddress
63
64
  // Compute shared secret as S = (h_A + local_ivsk_A) * Addr_Point_B
65
+ const knownPreaddress = await computePreaddress(await localAddress.publicKeys.hash(), localAddress.partialAddress);
66
+ // An invalid address has no corresponding address point
67
+ if (!await externalAddress.isValid()) {
68
+ return undefined;
69
+ }
70
+ const externalAddressPoint = await externalAddress.toAddressPoint();
64
71
  // Beware! h_a + local_ivsk_a (also known as the address secret) can lead to an address point with a negative
65
72
  // y-coordinate, since there's two possible candidates computeAddressSecret takes care of selecting the one that
66
73
  // leads to a positive y-coordinate, which is the only valid address point
@@ -1,5 +1,6 @@
1
1
  export * from './extended_directional_app_tagging_secret.js';
2
2
  export * from './pre_tag.js';
3
+ export * from './tagging_index_range.js';
3
4
  export * from './contract_class_log.js';
4
5
  export * from './public_log.js';
5
6
  export * from './private_log.js';
@@ -15,4 +16,4 @@ export * from './debug_log.js';
15
16
  export * from './debug_log_store.js';
16
17
  export * from './tag.js';
17
18
  export * from './siloed_tag.js';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxpQkFBaUIsQ0FBQyJ9
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGlCQUFpQixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './extended_directional_app_tagging_secret.js';
2
2
  export * from './pre_tag.js';
3
+ export * from './tagging_index_range.js';
3
4
  export * from './contract_class_log.js';
4
5
  export * from './public_log.js';
5
6
  export * from './private_log.js';
@@ -1,3 +1,4 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
1
2
  import type { AztecAddress } from '../aztec-address/index.js';
2
3
  import { type ZodFor } from '../schemas/index.js';
3
4
  import { TxHash } from '../tx/tx_hash.js';
@@ -17,6 +18,8 @@ export type LogFilter = {
17
18
  afterLog?: LogId;
18
19
  /** The contract address to filter logs by. */
19
20
  contractAddress?: AztecAddress;
21
+ /** The tag (first field of the log) to filter logs by. */
22
+ tag?: Fr;
20
23
  };
21
24
  export declare const LogFilterSchema: ZodFor<LogFilter>;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX2ZpbHRlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvbG9nX2ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQVcsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQzs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sU0FBUyxHQUFHO0lBQ3RCLDBEQUEwRDtJQUMxRCxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEIsc0VBQXNFO0lBQ3RFLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNuQixrRUFBa0U7SUFDbEUsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLGlEQUFpRDtJQUNqRCxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDakIsOENBQThDO0lBQzlDLGVBQWUsQ0FBQyxFQUFFLFlBQVksQ0FBQztDQUNoQyxDQUFDO0FBRUYsZUFBTyxNQUFNLGVBQWUsRUFBRSxNQUFNLENBQUMsU0FBUyxDQU01QyxDQUFDIn0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX2ZpbHRlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvbG9nX2ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl6RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQVcsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQzs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sU0FBUyxHQUFHO0lBQ3RCLDBEQUEwRDtJQUMxRCxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEIsc0VBQXNFO0lBQ3RFLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNuQixrRUFBa0U7SUFDbEUsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLGlEQUFpRDtJQUNqRCxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDakIsOENBQThDO0lBQzlDLGVBQWUsQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUMvQiwwREFBMEQ7SUFDMUQsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO0NBQ1YsQ0FBQztBQUVGLGVBQU8sTUFBTSxlQUFlLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FPNUMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"log_filter.d.ts","sourceRoot":"","sources":["../../src/logs/log_filter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,YAAY,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,SAAS,CAM5C,CAAC"}
1
+ {"version":3,"file":"log_filter.d.ts","sourceRoot":"","sources":["../../src/logs/log_filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,0DAA0D;IAC1D,GAAG,CAAC,EAAE,EAAE,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,SAAS,CAO5C,CAAC"}
@@ -7,5 +7,6 @@ export const LogFilterSchema = z.object({
7
7
  fromBlock: schemas.Integer.optional(),
8
8
  toBlock: schemas.Integer.optional(),
9
9
  afterLog: LogId.schema.optional(),
10
- contractAddress: schemas.AztecAddress.optional()
10
+ contractAddress: schemas.AztecAddress.optional(),
11
+ tag: schemas.Fr.optional()
11
12
  });
@@ -82,4 +82,4 @@ export declare class LogId {
82
82
  */
83
83
  toHumanReadable(): string;
84
84
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX2lkLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9sb2dfaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTFDLGdDQUFnQztBQUNoQyxxQkFBYSxLQUFLO0lBRWQsK0NBQStDO2FBQy9CLFdBQVcsRUFBRSxXQUFXO0lBQ3hDLG9EQUFvRDthQUNwQyxTQUFTLEVBQUUsU0FBUztJQUNwQywwREFBMEQ7YUFDMUMsTUFBTSxFQUFFLE1BQU07SUFDOUIsMkRBQTJEO2FBQzNDLE9BQU8sRUFBRSxNQUFNO0lBQy9CLGdEQUFnRDthQUNoQyxRQUFRLEVBQUUsTUFBTTtJQVZsQztJQUNFLCtDQUErQztJQUMvQixXQUFXLEVBQUUsV0FBVztJQUN4QyxvREFBb0Q7SUFDcEMsU0FBUyxFQUFFLFNBQVM7SUFDcEMsMERBQTBEO0lBQzFDLE1BQU0sRUFBRSxNQUFNO0lBQzlCLDJEQUEyRDtJQUMzQyxPQUFPLEVBQUUsTUFBTTtJQUMvQixnREFBZ0Q7SUFDaEMsUUFBUSxFQUFFLE1BQU0sRUFXakM7SUFFRCxNQUFNLENBQUMsTUFBTSxVQVFaO0lBRUQsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BYWhCO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLE1BQU0sQ0FReEI7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxLQUFLLENBVXREO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLE1BQU0sQ0FFeEI7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLEtBQUssQ0FTckM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLElBQUksTUFBTSxDQUUvQjtDQUNGIn0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX2lkLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9sb2dfaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTFDLGdDQUFnQztBQUNoQyxxQkFBYSxLQUFLO0lBRWQsK0NBQStDO2FBQy9CLFdBQVcsRUFBRSxXQUFXO0lBQ3hDLG9EQUFvRDthQUNwQyxTQUFTLEVBQUUsU0FBUztJQUNwQywwREFBMEQ7YUFDMUMsTUFBTSxFQUFFLE1BQU07SUFDOUIsMkRBQTJEO2FBQzNDLE9BQU8sRUFBRSxNQUFNO0lBQy9CLGdEQUFnRDthQUNoQyxRQUFRLEVBQUUsTUFBTTtJQVZsQztJQUNFLCtDQUErQztJQUMvQixXQUFXLEVBQUUsV0FBVztJQUN4QyxvREFBb0Q7SUFDcEMsU0FBUyxFQUFFLFNBQVM7SUFDcEMsMERBQTBEO0lBQzFDLE1BQU0sRUFBRSxNQUFNO0lBQzlCLDJEQUEyRDtJQUMzQyxPQUFPLEVBQUUsTUFBTTtJQUMvQixnREFBZ0Q7SUFDaEMsUUFBUSxFQUFFLE1BQU0sRUFXakM7SUFFRCxNQUFNLENBQUMsTUFBTSxVQVFaO0lBRUQsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BYWhCO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLE1BQU0sQ0FReEI7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxLQUFLLENBVXREO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLE1BQU0sQ0FFeEI7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLEtBQUssQ0FTckM7SUFFRDs7O09BR0c7SUFDSSxlQUFlLElBQUksTUFBTSxDQUUvQjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"log_id.d.ts","sourceRoot":"","sources":["../../src/logs/log_id.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,gCAAgC;AAChC,qBAAa,KAAK;IAEd,+CAA+C;aAC/B,WAAW,EAAE,WAAW;IACxC,oDAAoD;aACpC,SAAS,EAAE,SAAS;IACpC,0DAA0D;aAC1C,MAAM,EAAE,MAAM;IAC9B,2DAA2D;aAC3C,OAAO,EAAE,MAAM;IAC/B,gDAAgD;aAChC,QAAQ,EAAE,MAAM;IAVlC;IACE,+CAA+C;IAC/B,WAAW,EAAE,WAAW;IACxC,oDAAoD;IACpC,SAAS,EAAE,SAAS;IACpC,0DAA0D;IAC1C,MAAM,EAAE,MAAM;IAC9B,2DAA2D;IAC3C,OAAO,EAAE,MAAM;IAC/B,gDAAgD;IAChC,QAAQ,EAAE,MAAM,EAWjC;IAED,MAAM,CAAC,MAAM,UAQZ;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED;;;OAGG;IACI,QAAQ,IAAI,MAAM,CAQxB;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,KAAK,CAUtD;IAED;;;OAGG;IACI,QAAQ,IAAI,MAAM,CAExB;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CASrC;IAED;;;OAGG;IACI,eAAe,IAAI,MAAM,CAE/B;CACF"}
1
+ {"version":3,"file":"log_id.d.ts","sourceRoot":"","sources":["../../src/logs/log_id.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,gCAAgC;AAChC,qBAAa,KAAK;IAEd,+CAA+C;aAC/B,WAAW,EAAE,WAAW;IACxC,oDAAoD;aACpC,SAAS,EAAE,SAAS;IACpC,0DAA0D;aAC1C,MAAM,EAAE,MAAM;IAC9B,2DAA2D;aAC3C,OAAO,EAAE,MAAM;IAC/B,gDAAgD;aAChC,QAAQ,EAAE,MAAM;IAVlC;IACE,+CAA+C;IAC/B,WAAW,EAAE,WAAW;IACxC,oDAAoD;IACpC,SAAS,EAAE,SAAS;IACpC,0DAA0D;IAC1C,MAAM,EAAE,MAAM;IAC9B,2DAA2D;IAC3C,OAAO,EAAE,MAAM;IAC/B,gDAAgD;IAChC,QAAQ,EAAE,MAAM,EAWjC;IAED,MAAM,CAAC,MAAM,UAQZ;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED;;;OAGG;IACI,QAAQ,IAAI,MAAM,CAQxB;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,KAAK,CAUtD;IAED;;;OAGG;IACI,QAAQ,IAAI,MAAM,CAExB;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CASrC;IAED;;;OAGG;IACI,eAAe,IAAI,MAAM,CAE/B;CACF"}
@@ -1,7 +1,6 @@
1
1
  import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
2
2
  import { toBufferBE } from '@aztec/foundation/bigint-buffer';
3
3
  import { BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types';
4
- import { Fr } from '@aztec/foundation/curves/bn254';
5
4
  import { BufferReader } from '@aztec/foundation/serialize';
6
5
  import { z } from 'zod';
7
6
  import { BlockHash } from '../block/block_hash.js';
@@ -60,7 +59,7 @@ import { TxHash } from '../tx/tx_hash.js';
60
59
  */ static fromBuffer(buffer) {
61
60
  const reader = BufferReader.asReader(buffer);
62
61
  const blockNumber = BlockNumber(reader.readNumber());
63
- const blockHash = new BlockHash(reader.readObject(Fr));
62
+ const blockHash = BlockHash.fromBuffer(reader);
64
63
  const txHash = reader.readObject(TxHash);
65
64
  const txIndex = reader.readNumber();
66
65
  const logIndex = reader.readNumber();
@@ -1,6 +1,4 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import type { AztecAddress } from '../aztec-address/index.js';
3
- import type { TxEffect } from '../tx/tx_effect.js';
4
2
  import type { TxHash } from '../tx/tx_hash.js';
5
3
  /**
6
4
  * Additional information needed to process a message.
@@ -15,15 +13,14 @@ export declare class MessageContext {
15
13
  txHash: TxHash;
16
14
  uniqueNoteHashesInTx: Fr[];
17
15
  firstNullifierInTx: Fr;
18
- recipient: AztecAddress;
19
- constructor(txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr, recipient: AztecAddress);
16
+ constructor(txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
20
17
  toFields(): Fr[];
21
18
  toNoirStruct(): {
22
19
  tx_hash: Fr;
23
20
  unique_note_hashes_in_tx: Fr[];
24
21
  first_nullifier_in_tx: Fr;
25
- recipient: AztecAddress;
26
22
  };
27
- static fromTxEffectAndRecipient(txEffect: TxEffect, recipient: AztecAddress): MessageContext;
23
+ static toEmptyFields(): Fr[];
24
+ static toSerializedOption(response: MessageContext | null): Fr[];
28
25
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9tZXNzYWdlX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DOzs7Ozs7OztHQVFHO0FBQ0gscUJBQWEsY0FBYztJQUVoQixNQUFNLEVBQUUsTUFBTTtJQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRTtJQUMxQixrQkFBa0IsRUFBRSxFQUFFO0lBQ3RCLFNBQVMsRUFBRSxZQUFZO0lBSmhDLFlBQ1MsTUFBTSxFQUFFLE1BQU0sRUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsRUFDMUIsa0JBQWtCLEVBQUUsRUFBRSxFQUN0QixTQUFTLEVBQUUsWUFBWSxFQUM1QjtJQUVKLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FPZjtJQUVELFlBQVk7Ozs7O01BU1g7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFHLGNBQWMsQ0FFM0Y7Q0FDRiJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9tZXNzYWdlX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DOzs7Ozs7OztHQVFHO0FBQ0gscUJBQWEsY0FBYztJQUVoQixNQUFNLEVBQUUsTUFBTTtJQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRTtJQUMxQixrQkFBa0IsRUFBRSxFQUFFO0lBSC9CLFlBQ1MsTUFBTSxFQUFFLE1BQU0sRUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsRUFDMUIsa0JBQWtCLEVBQUUsRUFBRSxFQUMzQjtJQUVKLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FNZjtJQUVELFlBQVk7Ozs7TUFRWDtJQUVELE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxFQUFFLENBSTNCO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQU0vRDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"message_context.d.ts","sourceRoot":"","sources":["../../src/logs/message_context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAEhB,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IACtB,SAAS,EAAE,YAAY;IAJhC,YACS,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EACtB,SAAS,EAAE,YAAY,EAC5B;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAOf;IAED,YAAY;;;;;MASX;IAED,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,cAAc,CAE3F;CACF"}
1
+ {"version":3,"file":"message_context.d.ts","sourceRoot":"","sources":["../../src/logs/message_context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAEhB,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IAH/B,YACS,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EAC3B;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,YAAY;;;;MAQX;IAED,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAI3B;IAED,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,EAAE,EAAE,CAM/D;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { MAX_NOTE_HASHES_PER_TX } from '@aztec/constants';
2
+ import { range } from '@aztec/foundation/array';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  /**
4
5
  * Additional information needed to process a message.
@@ -12,31 +13,41 @@ import { Fr } from '@aztec/foundation/curves/bn254';
12
13
  txHash;
13
14
  uniqueNoteHashesInTx;
14
15
  firstNullifierInTx;
15
- recipient;
16
- constructor(txHash, uniqueNoteHashesInTx, firstNullifierInTx, recipient){
16
+ constructor(txHash, uniqueNoteHashesInTx, firstNullifierInTx){
17
17
  this.txHash = txHash;
18
18
  this.uniqueNoteHashesInTx = uniqueNoteHashesInTx;
19
19
  this.firstNullifierInTx = firstNullifierInTx;
20
- this.recipient = recipient;
21
20
  }
22
21
  toFields() {
23
22
  return [
24
23
  this.txHash.hash,
25
24
  ...serializeBoundedVec(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX),
26
- this.firstNullifierInTx,
27
- this.recipient.toField()
25
+ this.firstNullifierInTx
28
26
  ];
29
27
  }
30
28
  toNoirStruct() {
31
29
  /* eslint-disable camelcase */ return {
32
30
  tx_hash: this.txHash.hash,
33
31
  unique_note_hashes_in_tx: this.uniqueNoteHashesInTx,
34
- first_nullifier_in_tx: this.firstNullifierInTx,
35
- recipient: this.recipient
32
+ first_nullifier_in_tx: this.firstNullifierInTx
36
33
  };
37
34
  /* eslint-enable camelcase */ }
38
- static fromTxEffectAndRecipient(txEffect, recipient) {
39
- return new MessageContext(txEffect.txHash, txEffect.noteHashes, txEffect.nullifiers[0], recipient);
35
+ static toEmptyFields() {
36
+ const serializationLen = 1 /* txHash */ + MAX_NOTE_HASHES_PER_TX + 1 /* uniqueNoteHashesInTx BVec */ + 1; /* firstNullifierInTx */
37
+ return range(serializationLen).map((_)=>Fr.zero());
38
+ }
39
+ static toSerializedOption(response) {
40
+ if (response) {
41
+ return [
42
+ new Fr(1),
43
+ ...response.toFields()
44
+ ];
45
+ } else {
46
+ return [
47
+ new Fr(0),
48
+ ...MessageContext.toEmptyFields()
49
+ ];
50
+ }
40
51
  }
41
52
  }
42
53
  /**
@@ -46,6 +57,9 @@ import { Fr } from '@aztec/foundation/curves/bn254';
46
57
  * @returns The serialized bounded vector as Fr[]
47
58
  * @dev Copied over from pending_tagged_log.ts.
48
59
  */ function serializeBoundedVec(values, maxLength) {
60
+ if (values.length > maxLength) {
61
+ throw new Error(`Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`);
62
+ }
49
63
  const lengthDiff = maxLength - values.length;
50
64
  const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO);
51
65
  const storage = values.concat(zeroPaddingArray);
@@ -1,5 +1,4 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import type { AztecAddress } from '../aztec-address/index.js';
3
2
  import type { TxHash } from '../tx/tx_hash.js';
4
3
  /**
5
4
  * Represents a pending tagged log as it is stored in the pending tagged log array to which the fetchTaggedLogs oracle
@@ -8,7 +7,7 @@ import type { TxHash } from '../tx/tx_hash.js';
8
7
  export declare class PendingTaggedLog {
9
8
  log: Fr[];
10
9
  private context;
11
- constructor(log: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr, recipient: AztecAddress);
10
+ constructor(log: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
12
11
  toFields(): Fr[];
13
12
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ190YWdnZWRfbG9nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9wZW5kaW5nX3RhZ2dlZF9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRy9DOzs7R0FHRztBQUNILHFCQUFhLGdCQUFnQjtJQUlsQixHQUFHLEVBQUUsRUFBRSxFQUFFO0lBSGxCLE9BQU8sQ0FBQyxPQUFPLENBQWlCO0lBRWhDLFlBQ1MsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxFQUMxQixrQkFBa0IsRUFBRSxFQUFFLEVBQ3RCLFNBQVMsRUFBRSxZQUFZLEVBR3hCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0NBQ0YifQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ190YWdnZWRfbG9nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9wZW5kaW5nX3RhZ2dlZF9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRy9DOzs7R0FHRztBQUNILHFCQUFhLGdCQUFnQjtJQUlsQixHQUFHLEVBQUUsRUFBRSxFQUFFO0lBSGxCLE9BQU8sQ0FBQyxPQUFPLENBQWlCO0lBRWhDLFlBQ1MsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxFQUMxQixrQkFBa0IsRUFBRSxFQUFFLEVBR3ZCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"pending_tagged_log.d.ts","sourceRoot":"","sources":["../../src/logs/pending_tagged_log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;GAGG;AACH,qBAAa,gBAAgB;IAIlB,GAAG,EAAE,EAAE,EAAE;IAHlB,OAAO,CAAC,OAAO,CAAiB;IAEhC,YACS,GAAG,EAAE,EAAE,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EACtB,SAAS,EAAE,YAAY,EAGxB;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;CACF"}
1
+ {"version":3,"file":"pending_tagged_log.d.ts","sourceRoot":"","sources":["../../src/logs/pending_tagged_log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;GAGG;AACH,qBAAa,gBAAgB;IAIlB,GAAG,EAAE,EAAE,EAAE;IAHlB,OAAO,CAAC,OAAO,CAAiB;IAEhC,YACS,GAAG,EAAE,EAAE,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EAGvB;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;CACF"}
@@ -7,9 +7,9 @@ import { MessageContext } from './message_context.js';
7
7
  */ export class PendingTaggedLog {
8
8
  log;
9
9
  context;
10
- constructor(log, txHash, uniqueNoteHashesInTx, firstNullifierInTx, recipient){
10
+ constructor(log, txHash, uniqueNoteHashesInTx, firstNullifierInTx){
11
11
  this.log = log;
12
- this.context = new MessageContext(txHash, uniqueNoteHashesInTx, firstNullifierInTx, recipient);
12
+ this.context = new MessageContext(txHash, uniqueNoteHashesInTx, firstNullifierInTx);
13
13
  }
14
14
  toFields() {
15
15
  return [
@@ -1,17 +1,18 @@
1
- import type { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
3
+ import type { AztecAddress } from '../aztec-address/index.js';
2
4
  import type { PublicKey } from '../keys/public_key.js';
3
5
  /**
4
- * Derive an Elliptic Curve Diffie-Hellman (ECDH) Shared Secret.
5
- * The function takes in an ECDH public key, a private key, and a Grumpkin instance to compute
6
- * the shared secret.
6
+ * Derives an app-siloed ECDH shared secret.
7
+ *
8
+ * Computes the raw ECDH shared secret `S = secretKey * publicKey`, then app-silos it:
9
+ * `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, contractAddress)`
7
10
  *
8
11
  * @param secretKey - The secret key used to derive shared secret.
9
12
  * @param publicKey - The public key used to derive shared secret.
10
- * @returns A derived shared secret.
13
+ * @param contractAddress - The address of the calling contract, used for app-siloing.
14
+ * @returns The app-siloed shared secret as a Field.
11
15
  * @throws If the publicKey is zero.
12
- *
13
- * TODO(#12656): This function is kept around because of the utilityGetSharedSecret oracle. Nuke this once returning
14
- * the app-siloed secret.
15
16
  */
16
- export declare function deriveEcdhSharedSecret(secretKey: GrumpkinScalar, publicKey: PublicKey): Promise<Point>;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3NlY3JldF9kZXJpdmF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9zaGFyZWRfc2VjcmV0X2Rlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9FLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHdCQUFnQixzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQU90RyJ9
17
+ export declare function deriveAppSiloedSharedSecret(secretKey: GrumpkinScalar, publicKey: PublicKey, contractAddress: AztecAddress): Promise<Fr>;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3NlY3JldF9kZXJpdmF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9zaGFyZWRfc2VjcmV0X2Rlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCx3QkFBc0IsMkJBQTJCLENBQy9DLFNBQVMsRUFBRSxjQUFjLEVBQ3pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGVBQWUsRUFBRSxZQUFZLEdBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FXYiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"shared_secret_derivation.d.ts","sourceRoot":"","sources":["../../src/logs/shared_secret_derivation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAOtG"}
1
+ {"version":3,"file":"shared_secret_derivation.d.ts","sourceRoot":"","sources":["../../src/logs/shared_secret_derivation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,EAAE,CAAC,CAWb"}
@@ -1,19 +1,25 @@
1
+ import { DomainSeparator } from '@aztec/constants';
1
2
  import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
3
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
2
4
  /**
3
- * Derive an Elliptic Curve Diffie-Hellman (ECDH) Shared Secret.
4
- * The function takes in an ECDH public key, a private key, and a Grumpkin instance to compute
5
- * the shared secret.
5
+ * Derives an app-siloed ECDH shared secret.
6
+ *
7
+ * Computes the raw ECDH shared secret `S = secretKey * publicKey`, then app-silos it:
8
+ * `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, contractAddress)`
6
9
  *
7
10
  * @param secretKey - The secret key used to derive shared secret.
8
11
  * @param publicKey - The public key used to derive shared secret.
9
- * @returns A derived shared secret.
12
+ * @param contractAddress - The address of the calling contract, used for app-siloing.
13
+ * @returns The app-siloed shared secret as a Field.
10
14
  * @throws If the publicKey is zero.
11
- *
12
- * TODO(#12656): This function is kept around because of the utilityGetSharedSecret oracle. Nuke this once returning
13
- * the app-siloed secret.
14
- */ export function deriveEcdhSharedSecret(secretKey, publicKey) {
15
+ */ export async function deriveAppSiloedSharedSecret(secretKey, publicKey, contractAddress) {
15
16
  if (publicKey.isZero()) {
16
17
  throw new Error(`Attempting to derive a shared secret with a zero public key. You have probably passed a zero public key in your Noir code somewhere thinking that the note won't be broadcast... but it was.`);
17
18
  }
18
- return Grumpkin.mul(publicKey, secretKey);
19
+ const rawSharedSecret = await Grumpkin.mul(publicKey, secretKey);
20
+ return poseidon2HashWithSeparator([
21
+ rawSharedSecret.x,
22
+ rawSharedSecret.y,
23
+ contractAddress
24
+ ], DomainSeparator.APP_SILOED_ECDH_SHARED_SECRET);
19
25
  }
@@ -1,25 +1,26 @@
1
- import type { Fr } from '@aztec/foundation/curves/bn254';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { ZodFor } from '@aztec/foundation/schemas';
3
3
  import type { AztecAddress } from '../aztec-address/index.js';
4
4
  import type { PreTag } from './pre_tag.js';
5
5
  import { Tag } from './tag.js';
6
- /** Branding to ensure fields are not interchangeable types. */
7
- export interface SiloedTag {
8
- /** Brand. */
9
- _branding: 'SiloedTag';
10
- }
11
6
  /**
12
7
  * Represents a tag used in private log as it "appears on the chain" - that is the tag is siloed with a contract
13
8
  * address that emitted the log.
14
9
  */
15
10
  export declare class SiloedTag {
16
11
  readonly value: Fr;
12
+ /** Branding for nominal typing. */
13
+ private readonly _branding;
17
14
  constructor(value: Fr);
18
15
  static compute(preTag: PreTag): Promise<SiloedTag>;
16
+ /**
17
+ * Unlike `compute`, this expects a tag whose value is already domain-separated.
18
+ */
19
19
  static computeFromTagAndApp(tag: Tag, app: AztecAddress): Promise<SiloedTag>;
20
20
  toString(): string;
21
21
  toJSON(): string;
22
22
  equals(other: SiloedTag): boolean;
23
+ static random(): SiloedTag;
23
24
  static get schema(): ZodFor<SiloedTag>;
24
25
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUkvQiwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLFNBQVM7SUFDeEIsYUFBYTtJQUNiLFNBQVMsRUFBRSxXQUFXLENBQUM7Q0FDeEI7QUFFRDs7O0dBR0c7QUFDSCxxQkFBYSxTQUFTO2FBQ1EsS0FBSyxFQUFFLEVBQUU7SUFBckMsWUFBNEIsS0FBSyxFQUFFLEVBQUUsRUFBSTtJQUV6QyxPQUFhLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHdkQ7SUFFRCxPQUFhLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBR2pGO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUVoQztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUVyQztDQUNGIn0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0I7OztHQUdHO0FBQ0gscUJBQWEsU0FBUzthQUlRLEtBQUssRUFBRSxFQUFFO0lBSHJDLG1DQUFtQztJQUNuQyxpQkFBeUIsU0FBUyxDQUFjO0lBRWhELFlBQTRCLEtBQUssRUFBRSxFQUFFLEVBQUk7SUFFekMsT0FBYSxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBSXZEO0lBRUQ7O09BRUc7SUFDSCxPQUFhLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBR2pGO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUVoQztJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksU0FBUyxDQUV6QjtJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUVyQztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"siloed_tag.d.ts","sourceRoot":"","sources":["../../src/logs/siloed_tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,aAAa;IACb,SAAS,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,SAAS;aACQ,KAAK,EAAE,EAAE;IAArC,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAGvD;IAED,OAAa,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAGjF;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhC;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAErC;CACF"}
1
+ {"version":3,"file":"siloed_tag.d.ts","sourceRoot":"","sources":["../../src/logs/siloed_tag.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B;;;GAGG;AACH,qBAAa,SAAS;aAIQ,KAAK,EAAE,EAAE;IAHrC,mCAAmC;IACnC,iBAAyB,SAAS,CAAc;IAEhD,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAIvD;IAED;;OAEG;IACH,OAAa,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAGjF;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhC;IAED,MAAM,CAAC,MAAM,IAAI,SAAS,CAEzB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAErC;CACF"}
@@ -1,4 +1,6 @@
1
- import { computeSiloedPrivateLogFirstField } from '../hash/hash.js';
1
+ import { DomainSeparator } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { computeLogTag, computeSiloedPrivateLogFirstField } from '../hash/hash.js';
2
4
  import { schemas } from '../schemas/schemas.js';
3
5
  import { Tag } from './tag.js';
4
6
  /**
@@ -11,9 +13,12 @@ import { Tag } from './tag.js';
11
13
  }
12
14
  static async compute(preTag) {
13
15
  const tag = await Tag.compute(preTag);
14
- return SiloedTag.computeFromTagAndApp(tag, preTag.extendedSecret.app);
16
+ const logTag = await computeLogTag(tag.value, DomainSeparator.UNCONSTRAINED_MSG_LOG_TAG);
17
+ return SiloedTag.computeFromTagAndApp(new Tag(logTag), preTag.extendedSecret.app);
15
18
  }
16
- static async computeFromTagAndApp(tag, app) {
19
+ /**
20
+ * Unlike `compute`, this expects a tag whose value is already domain-separated.
21
+ */ static async computeFromTagAndApp(tag, app) {
17
22
  const siloedTag = await computeSiloedPrivateLogFirstField(app, tag.value);
18
23
  return new SiloedTag(siloedTag);
19
24
  }
@@ -26,6 +31,9 @@ import { Tag } from './tag.js';
26
31
  equals(other) {
27
32
  return this.value.equals(other.value);
28
33
  }
34
+ static random() {
35
+ return new SiloedTag(Fr.random());
36
+ }
29
37
  static get schema() {
30
38
  return schemas.Fr.transform((fr)=>new SiloedTag(fr));
31
39
  }
@@ -1,21 +1,20 @@
1
- import type { Fr } from '@aztec/foundation/curves/bn254';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { ZodFor } from '@aztec/foundation/schemas';
3
3
  import type { PreTag } from './pre_tag.js';
4
- export interface Tag {
5
- /** Brand. */
6
- _branding: 'Tag';
7
- }
8
4
  /**
9
5
  * Represents a tag of a private log. This is not the tag that "appears" on the chain as this tag is first siloed
10
6
  * with a contract address by kernels before being included in the final log.
11
7
  */
12
8
  export declare class Tag {
13
9
  readonly value: Fr;
10
+ /** Branding for nominal typing. */
11
+ private readonly _branding;
14
12
  constructor(value: Fr);
15
13
  static compute(preTag: PreTag): Promise<Tag>;
16
14
  toString(): string;
17
15
  toJSON(): string;
18
16
  equals(other: Tag): boolean;
17
+ static random(): Tag;
19
18
  static get schema(): ZodFor<Tag>;
20
19
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy90YWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHeEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSTNDLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLGFBQWE7SUFDYixTQUFTLEVBQUUsS0FBSyxDQUFDO0NBQ2xCO0FBRUQ7OztHQUdHO0FBQ0gscUJBQWEsR0FBRzthQUNjLEtBQUssRUFBRSxFQUFFO0lBQXJDLFlBQTRCLEtBQUssRUFBRSxFQUFFLEVBQUk7SUFFekMsT0FBYSxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBR2pEO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUUxQjtJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUUvQjtDQUNGIn0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy90YWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3hELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzQzs7O0dBR0c7QUFDSCxxQkFBYSxHQUFHO2FBSWMsS0FBSyxFQUFFLEVBQUU7SUFIckMsbUNBQW1DO0lBQ25DLGlCQUF5QixTQUFTLENBQVE7SUFFMUMsWUFBNEIsS0FBSyxFQUFFLEVBQUUsRUFBSTtJQUV6QyxPQUFhLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FHakQ7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sSUFBSSxNQUFNLENBRWY7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBRTFCO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBRW5CO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBRS9CO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/logs/tag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,MAAM,WAAW,GAAG;IAClB,aAAa;IACb,SAAS,EAAE,KAAK,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,GAAG;aACc,KAAK,EAAE,EAAE;IAArC,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAGjD;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE1B;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAE/B;CACF"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/logs/tag.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,qBAAa,GAAG;aAIc,KAAK,EAAE,EAAE;IAHrC,mCAAmC;IACnC,iBAAyB,SAAS,CAAQ;IAE1C,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAGjD;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE1B;IAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAEnB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAE/B;CACF"}
package/dest/logs/tag.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import { schemas } from '../schemas/schemas.js';
3
4
  /**
4
5
  * Represents a tag of a private log. This is not the tag that "appears" on the chain as this tag is first siloed
@@ -24,6 +25,9 @@ import { schemas } from '../schemas/schemas.js';
24
25
  equals(other) {
25
26
  return this.value.equals(other.value);
26
27
  }
28
+ static random() {
29
+ return new Tag(Fr.random());
30
+ }
27
31
  static get schema() {
28
32
  return schemas.Fr.transform((fr)=>new Tag(fr));
29
33
  }