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

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 (739) 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 +6 -45
  10. package/dest/abi/decoder.d.ts.map +1 -1
  11. package/dest/abi/decoder.js +17 -70
  12. package/dest/abi/encoder.d.ts +1 -1
  13. package/dest/abi/encoder.d.ts.map +1 -1
  14. package/dest/abi/encoder.js +64 -7
  15. package/dest/abi/event_metadata_definition.d.ts +3 -1
  16. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  17. package/dest/abi/event_metadata_definition.js +1 -1
  18. package/dest/abi/event_selector.d.ts +3 -6
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/function_call.d.ts +39 -9
  21. package/dest/abi/function_call.d.ts.map +1 -1
  22. package/dest/abi/function_call.js +20 -3
  23. package/dest/abi/function_selector.d.ts +3 -6
  24. package/dest/abi/function_selector.d.ts.map +1 -1
  25. package/dest/abi/function_selector.js +2 -4
  26. package/dest/abi/function_signature_decoder.d.ts +43 -0
  27. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  28. package/dest/abi/function_signature_decoder.js +66 -0
  29. package/dest/abi/index.d.ts +2 -1
  30. package/dest/abi/index.d.ts.map +1 -1
  31. package/dest/abi/index.js +1 -0
  32. package/dest/abi/note_selector.d.ts +3 -6
  33. package/dest/abi/note_selector.d.ts.map +1 -1
  34. package/dest/abi/note_selector.js +1 -3
  35. package/dest/abi/selector.d.ts +2 -2
  36. package/dest/abi/selector.d.ts.map +1 -1
  37. package/dest/abi/selector.js +1 -1
  38. package/dest/abi/utils.d.ts +14 -1
  39. package/dest/abi/utils.d.ts.map +1 -1
  40. package/dest/abi/utils.js +15 -0
  41. package/dest/auth_witness/auth_witness.js +3 -3
  42. package/dest/avm/avm_proving_request.d.ts +166 -166
  43. package/dest/avm/revert_code.d.ts +9 -4
  44. package/dest/avm/revert_code.d.ts.map +1 -1
  45. package/dest/avm/revert_code.js +16 -21
  46. package/dest/aztec-address/index.d.ts +3 -6
  47. package/dest/aztec-address/index.d.ts.map +1 -1
  48. package/dest/aztec-address/index.js +2 -4
  49. package/dest/block/attestation_info.d.ts +3 -2
  50. package/dest/block/attestation_info.d.ts.map +1 -1
  51. package/dest/block/attestation_info.js +7 -5
  52. package/dest/block/block_data.d.ts +341 -0
  53. package/dest/block/block_data.d.ts.map +1 -0
  54. package/dest/block/block_data.js +26 -0
  55. package/dest/block/block_hash.d.ts +11 -10
  56. package/dest/block/block_hash.d.ts.map +1 -1
  57. package/dest/block/block_hash.js +10 -9
  58. package/dest/block/block_parameter.d.ts +30 -3
  59. package/dest/block/block_parameter.d.ts.map +1 -1
  60. package/dest/block/block_parameter.js +36 -2
  61. package/dest/block/index.d.ts +2 -1
  62. package/dest/block/index.d.ts.map +1 -1
  63. package/dest/block/index.js +1 -0
  64. package/dest/block/l2_block.d.ts +9 -1
  65. package/dest/block/l2_block.d.ts.map +1 -1
  66. package/dest/block/l2_block.js +12 -2
  67. package/dest/block/l2_block_info.d.ts +6 -5
  68. package/dest/block/l2_block_info.d.ts.map +1 -1
  69. package/dest/block/l2_block_info.js +6 -5
  70. package/dest/block/l2_block_source.d.ts +149 -10
  71. package/dest/block/l2_block_source.d.ts.map +1 -1
  72. package/dest/block/l2_block_source.js +1 -0
  73. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  74. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  75. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  76. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  77. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  78. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  79. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  80. package/dest/block/l2_block_stream/l2_tips_store_base.js +18 -5
  81. package/dest/block/proposal/attestations_and_signers.d.ts +13 -6
  82. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  83. package/dest/block/proposal/attestations_and_signers.js +26 -18
  84. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  85. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  86. package/dest/block/test/l2_tips_store_test_suite.js +4 -3
  87. package/dest/checkpoint/checkpoint.d.ts +28 -7
  88. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  89. package/dest/checkpoint/checkpoint.js +41 -17
  90. package/dest/checkpoint/checkpoint_data.d.ts +192 -0
  91. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  92. package/dest/checkpoint/checkpoint_data.js +38 -0
  93. package/dest/checkpoint/index.d.ts +3 -1
  94. package/dest/checkpoint/index.d.ts.map +1 -1
  95. package/dest/checkpoint/index.js +2 -0
  96. package/dest/checkpoint/published_checkpoint.d.ts +17 -2
  97. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  98. package/dest/checkpoint/published_checkpoint.js +1 -2
  99. package/dest/checkpoint/validate.d.ts +36 -0
  100. package/dest/checkpoint/validate.d.ts.map +1 -0
  101. package/dest/checkpoint/validate.js +120 -0
  102. package/dest/config/chain-config.d.ts +2 -2
  103. package/dest/config/chain-config.d.ts.map +1 -1
  104. package/dest/config/chain-config.js +9 -3
  105. package/dest/config/index.d.ts +3 -1
  106. package/dest/config/index.d.ts.map +1 -1
  107. package/dest/config/index.js +2 -0
  108. package/dest/config/pipelining-config.d.ts +19 -0
  109. package/dest/config/pipelining-config.d.ts.map +1 -0
  110. package/dest/config/pipelining-config.js +18 -0
  111. package/dest/config/sequencer-config.d.ts +14 -0
  112. package/dest/config/sequencer-config.d.ts.map +1 -0
  113. package/dest/config/sequencer-config.js +38 -0
  114. package/dest/contract/contract_address.d.ts +3 -3
  115. package/dest/contract/contract_address.js +7 -7
  116. package/dest/contract/contract_class.d.ts +2 -3
  117. package/dest/contract/contract_class.d.ts.map +1 -1
  118. package/dest/contract/contract_class_id.d.ts +3 -3
  119. package/dest/contract/contract_class_id.d.ts.map +1 -1
  120. package/dest/contract/contract_class_id.js +7 -6
  121. package/dest/contract/index.d.ts +1 -3
  122. package/dest/contract/index.d.ts.map +1 -1
  123. package/dest/contract/index.js +0 -2
  124. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  125. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  126. package/dest/contract/interfaces/contract_class.js +1 -28
  127. package/dest/contract/interfaces/node-info.d.ts +3 -1
  128. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  129. package/dest/contract/interfaces/node-info.js +2 -1
  130. package/dest/contract/private_function.d.ts +1 -1
  131. package/dest/contract/private_function.d.ts.map +1 -1
  132. package/dest/contract/private_function.js +4 -6
  133. package/dest/epoch-helpers/index.d.ts +15 -1
  134. package/dest/epoch-helpers/index.d.ts.map +1 -1
  135. package/dest/epoch-helpers/index.js +18 -2
  136. package/dest/file-store/factory.d.ts +4 -3
  137. package/dest/file-store/factory.d.ts.map +1 -1
  138. package/dest/file-store/factory.js +2 -2
  139. package/dest/file-store/http.d.ts +9 -2
  140. package/dest/file-store/http.d.ts.map +1 -1
  141. package/dest/file-store/http.js +20 -9
  142. package/dest/file-store/index.d.ts +2 -1
  143. package/dest/file-store/index.d.ts.map +1 -1
  144. package/dest/file-store/local.d.ts +3 -3
  145. package/dest/file-store/local.d.ts.map +1 -1
  146. package/dest/file-store/local.js +13 -4
  147. package/dest/file-store/s3.d.ts +1 -1
  148. package/dest/file-store/s3.d.ts.map +1 -1
  149. package/dest/file-store/s3.js +11 -3
  150. package/dest/gas/fee_math.d.ts +49 -0
  151. package/dest/gas/fee_math.d.ts.map +1 -0
  152. package/dest/gas/fee_math.js +80 -0
  153. package/dest/gas/gas_fees.d.ts +5 -1
  154. package/dest/gas/gas_fees.d.ts.map +1 -1
  155. package/dest/gas/gas_fees.js +13 -1
  156. package/dest/gas/gas_settings.d.ts +40 -3
  157. package/dest/gas/gas_settings.d.ts.map +1 -1
  158. package/dest/gas/gas_settings.js +50 -6
  159. package/dest/gas/index.d.ts +2 -1
  160. package/dest/gas/index.d.ts.map +1 -1
  161. package/dest/gas/index.js +1 -0
  162. package/dest/ha-signing/config.d.ts +136 -0
  163. package/dest/ha-signing/config.d.ts.map +1 -0
  164. package/dest/ha-signing/config.js +98 -0
  165. package/dest/ha-signing/index.d.ts +4 -0
  166. package/dest/ha-signing/index.d.ts.map +1 -0
  167. package/dest/ha-signing/index.js +3 -0
  168. package/dest/ha-signing/local_config.d.ts +63 -0
  169. package/dest/ha-signing/local_config.d.ts.map +1 -0
  170. package/dest/ha-signing/local_config.js +24 -0
  171. package/dest/ha-signing/types.d.ts +90 -0
  172. package/dest/ha-signing/types.d.ts.map +1 -0
  173. package/dest/ha-signing/types.js +39 -0
  174. package/dest/hash/hash.d.ts +35 -1
  175. package/dest/hash/hash.d.ts.map +1 -1
  176. package/dest/hash/hash.js +77 -10
  177. package/dest/hash/map_slot.js +2 -2
  178. package/dest/interfaces/allowed_element.d.ts +26 -20
  179. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  180. package/dest/interfaces/allowed_element.js +8 -8
  181. package/dest/interfaces/archiver.d.ts +11 -1
  182. package/dest/interfaces/archiver.d.ts.map +1 -1
  183. package/dest/interfaces/archiver.js +17 -3
  184. package/dest/interfaces/aztec-node-admin.d.ts +132 -47
  185. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  186. package/dest/interfaces/aztec-node-admin.js +14 -7
  187. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  188. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  189. package/dest/interfaces/aztec-node-debug.js +18 -0
  190. package/dest/interfaces/aztec-node.d.ts +59 -54
  191. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  192. package/dest/interfaces/aztec-node.js +23 -16
  193. package/dest/interfaces/block-builder.d.ts +39 -12
  194. package/dest/interfaces/block-builder.d.ts.map +1 -1
  195. package/dest/interfaces/block-builder.js +13 -6
  196. package/dest/interfaces/block_response.d.ts +156 -0
  197. package/dest/interfaces/block_response.d.ts.map +1 -0
  198. package/dest/interfaces/block_response.js +24 -0
  199. package/dest/interfaces/chain_tips.d.ts +304 -0
  200. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  201. package/dest/interfaces/chain_tips.js +11 -0
  202. package/dest/interfaces/checkpoint_parameter.d.ts +27 -0
  203. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  204. package/dest/interfaces/checkpoint_parameter.js +20 -0
  205. package/dest/interfaces/checkpoint_response.d.ts +312 -0
  206. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  207. package/dest/interfaces/checkpoint_response.js +26 -0
  208. package/dest/interfaces/client.d.ts +7 -1
  209. package/dest/interfaces/client.d.ts.map +1 -1
  210. package/dest/interfaces/client.js +6 -0
  211. package/dest/interfaces/configs.d.ts +87 -32
  212. package/dest/interfaces/configs.d.ts.map +1 -1
  213. package/dest/interfaces/configs.js +12 -3
  214. package/dest/interfaces/l1_publish_info.d.ts +43 -0
  215. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  216. package/dest/interfaces/l1_publish_info.js +26 -0
  217. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  218. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  219. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  220. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  221. package/dest/interfaces/p2p.d.ts +3 -8
  222. package/dest/interfaces/p2p.d.ts.map +1 -1
  223. package/dest/interfaces/prover-client.d.ts +6 -1
  224. package/dest/interfaces/prover-client.d.ts.map +1 -1
  225. package/dest/interfaces/prover-client.js +7 -4
  226. package/dest/interfaces/proving-job.d.ts +202 -202
  227. package/dest/interfaces/server.d.ts +6 -1
  228. package/dest/interfaces/server.d.ts.map +1 -1
  229. package/dest/interfaces/server.js +5 -0
  230. package/dest/interfaces/slasher.d.ts +5 -10
  231. package/dest/interfaces/slasher.d.ts.map +1 -1
  232. package/dest/interfaces/slasher.js +1 -2
  233. package/dest/interfaces/validator.d.ts +138 -64
  234. package/dest/interfaces/validator.d.ts.map +1 -1
  235. package/dest/interfaces/validator.js +12 -5
  236. package/dest/interfaces/world_state.d.ts +5 -4
  237. package/dest/interfaces/world_state.d.ts.map +1 -1
  238. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  239. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  240. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  241. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  242. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  243. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  244. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  245. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  246. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  247. package/dest/kernel/hints/index.d.ts +2 -2
  248. package/dest/kernel/hints/index.js +2 -2
  249. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  250. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  251. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  252. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  253. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  254. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  255. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  256. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  257. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  258. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  259. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  260. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  261. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  262. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  263. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  264. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  265. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  266. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  267. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  268. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  269. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  270. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  271. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  272. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  273. package/dest/kernel/private_validation_requests.d.ts +3 -3
  274. package/dest/kernel/private_validation_requests.js +9 -9
  275. package/dest/keys/derivation.js +8 -8
  276. package/dest/keys/key_types.d.ts +3 -3
  277. package/dest/keys/key_types.d.ts.map +1 -1
  278. package/dest/keys/public_keys.js +2 -2
  279. package/dest/keys/utils.js +5 -5
  280. package/dest/kv-store/config.d.ts +17 -0
  281. package/dest/kv-store/config.d.ts.map +1 -0
  282. package/dest/kv-store/config.js +26 -0
  283. package/dest/kv-store/index.d.ts +2 -0
  284. package/dest/kv-store/index.d.ts.map +1 -0
  285. package/dest/kv-store/index.js +1 -0
  286. package/dest/l1-contracts/index.d.ts +2 -2
  287. package/dest/l1-contracts/index.d.ts.map +1 -1
  288. package/dest/l1-contracts/index.js +1 -1
  289. package/dest/logs/debug_log_store.d.ts +30 -0
  290. package/dest/logs/debug_log_store.d.ts.map +1 -0
  291. package/dest/logs/debug_log_store.js +30 -0
  292. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  293. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  294. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
  295. package/dest/logs/index.d.ts +4 -2
  296. package/dest/logs/index.d.ts.map +1 -1
  297. package/dest/logs/index.js +3 -1
  298. package/dest/logs/log_filter.d.ts +4 -1
  299. package/dest/logs/log_filter.d.ts.map +1 -1
  300. package/dest/logs/log_filter.js +2 -1
  301. package/dest/logs/log_id.d.ts +1 -1
  302. package/dest/logs/log_id.d.ts.map +1 -1
  303. package/dest/logs/log_id.js +1 -2
  304. package/dest/logs/message_context.d.ts +4 -7
  305. package/dest/logs/message_context.d.ts.map +1 -1
  306. package/dest/logs/message_context.js +23 -9
  307. package/dest/logs/pending_tagged_log.d.ts +2 -3
  308. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  309. package/dest/logs/pending_tagged_log.js +2 -2
  310. package/dest/logs/pre_tag.d.ts +16 -11
  311. package/dest/logs/pre_tag.d.ts.map +1 -1
  312. package/dest/logs/pre_tag.js +2 -2
  313. package/dest/logs/private_log.d.ts +2 -2
  314. package/dest/logs/private_log.d.ts.map +1 -1
  315. package/dest/logs/public_log.d.ts +4 -3
  316. package/dest/logs/public_log.d.ts.map +1 -1
  317. package/dest/logs/public_log.js +2 -1
  318. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  319. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  320. package/dest/logs/shared_secret_derivation.js +15 -9
  321. package/dest/logs/siloed_tag.d.ts +12 -9
  322. package/dest/logs/siloed_tag.d.ts.map +1 -1
  323. package/dest/logs/siloed_tag.js +16 -7
  324. package/dest/logs/tag.d.ts +5 -6
  325. package/dest/logs/tag.d.ts.map +1 -1
  326. package/dest/logs/tag.js +5 -1
  327. package/dest/logs/tagging_index_range.d.ts +40 -0
  328. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  329. package/dest/logs/tagging_index_range.js +8 -0
  330. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  331. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  332. package/dest/logs/tx_scoped_l2_log.js +7 -0
  333. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  334. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  335. package/dest/messaging/l1_to_l2_message.js +11 -13
  336. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  337. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  338. package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
  339. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  340. package/dest/messaging/l2_to_l1_membership.js +72 -29
  341. package/dest/noir/index.d.ts +3 -3
  342. package/dest/noir/index.d.ts.map +1 -1
  343. package/dest/note/index.d.ts +1 -2
  344. package/dest/note/index.d.ts.map +1 -1
  345. package/dest/note/index.js +0 -1
  346. package/dest/note/note_dao.d.ts +1 -1
  347. package/dest/note/note_dao.d.ts.map +1 -1
  348. package/dest/note/note_dao.js +1 -4
  349. package/dest/p2p/attestation_utils.d.ts +11 -1
  350. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  351. package/dest/p2p/attestation_utils.js +45 -0
  352. package/dest/p2p/block_proposal.d.ts +23 -15
  353. package/dest/p2p/block_proposal.d.ts.map +1 -1
  354. package/dest/p2p/block_proposal.js +46 -43
  355. package/dest/p2p/checkpoint_attestation.d.ts +11 -8
  356. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  357. package/dest/p2p/checkpoint_attestation.js +17 -24
  358. package/dest/p2p/checkpoint_proposal.d.ts +29 -23
  359. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  360. package/dest/p2p/checkpoint_proposal.js +43 -65
  361. package/dest/p2p/client_type.d.ts +2 -5
  362. package/dest/p2p/client_type.d.ts.map +1 -1
  363. package/dest/p2p/client_type.js +0 -7
  364. package/dest/p2p/consensus_payload.d.ts +27 -7
  365. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  366. package/dest/p2p/consensus_payload.js +40 -21
  367. package/dest/p2p/constants.d.ts +3 -1
  368. package/dest/p2p/constants.d.ts.map +1 -1
  369. package/dest/p2p/constants.js +1 -0
  370. package/dest/p2p/gossipable.d.ts +4 -4
  371. package/dest/p2p/gossipable.d.ts.map +1 -1
  372. package/dest/p2p/index.d.ts +1 -2
  373. package/dest/p2p/index.d.ts.map +1 -1
  374. package/dest/p2p/index.js +0 -1
  375. package/dest/p2p/peer_error.d.ts +3 -1
  376. package/dest/p2p/peer_error.d.ts.map +1 -1
  377. package/dest/p2p/peer_error.js +5 -0
  378. package/dest/p2p/signature_utils.d.ts +28 -19
  379. package/dest/p2p/signature_utils.d.ts.map +1 -1
  380. package/dest/p2p/signature_utils.js +118 -21
  381. package/dest/p2p/signed_txs.d.ts +15 -13
  382. package/dest/p2p/signed_txs.d.ts.map +1 -1
  383. package/dest/p2p/signed_txs.js +26 -24
  384. package/dest/p2p/topic_type.d.ts +3 -4
  385. package/dest/p2p/topic_type.d.ts.map +1 -1
  386. package/dest/p2p/topic_type.js +7 -24
  387. package/dest/parity/parity_base_private_inputs.d.ts +7 -3
  388. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  389. package/dest/parity/parity_base_private_inputs.js +7 -5
  390. package/dest/parity/parity_public_inputs.d.ts +7 -3
  391. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  392. package/dest/parity/parity_public_inputs.js +6 -3
  393. package/dest/proofs/chonk_proof.d.ts +46 -2
  394. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  395. package/dest/proofs/chonk_proof.js +85 -10
  396. package/dest/rollup/block_headers_hash.d.ts +1 -1
  397. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  398. package/dest/rollup/block_headers_hash.js +8 -2
  399. package/dest/rollup/checkpoint_header.d.ts +2 -2
  400. package/dest/rollup/checkpoint_header.js +2 -2
  401. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
  402. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  403. package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
  404. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
  405. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  406. package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
  407. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  408. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  409. package/dest/slashing/helpers.d.ts +2 -2
  410. package/dest/slashing/helpers.d.ts.map +1 -1
  411. package/dest/slashing/helpers.js +3 -0
  412. package/dest/slashing/index.d.ts +2 -3
  413. package/dest/slashing/index.d.ts.map +1 -1
  414. package/dest/slashing/index.js +1 -2
  415. package/dest/slashing/serialization.d.ts +2 -6
  416. package/dest/slashing/serialization.d.ts.map +1 -1
  417. package/dest/slashing/serialization.js +0 -60
  418. package/dest/slashing/types.d.ts +8 -92
  419. package/dest/slashing/types.d.ts.map +1 -1
  420. package/dest/slashing/types.js +7 -15
  421. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  422. package/dest/slashing/votes.d.ts.map +1 -0
  423. package/dest/slashing/{tally.js → votes.js} +30 -2
  424. package/dest/tests/factories.d.ts +5 -10
  425. package/dest/tests/factories.d.ts.map +1 -1
  426. package/dest/tests/factories.js +37 -56
  427. package/dest/tests/mocks.d.ts +14 -3
  428. package/dest/tests/mocks.d.ts.map +1 -1
  429. package/dest/tests/mocks.js +65 -46
  430. package/dest/timetable/index.d.ts +87 -0
  431. package/dest/timetable/index.d.ts.map +1 -0
  432. package/dest/timetable/index.js +243 -0
  433. package/dest/trees/nullifier_leaf.d.ts +2 -1
  434. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  435. package/dest/trees/nullifier_leaf.js +3 -0
  436. package/dest/trees/public_data_leaf.d.ts +2 -1
  437. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  438. package/dest/trees/public_data_leaf.js +7 -6
  439. package/dest/tx/block_header.d.ts +4 -2
  440. package/dest/tx/block_header.d.ts.map +1 -1
  441. package/dest/tx/block_header.js +7 -3
  442. package/dest/tx/capsule.d.ts +6 -2
  443. package/dest/tx/capsule.d.ts.map +1 -1
  444. package/dest/tx/capsule.js +9 -3
  445. package/dest/tx/fee_provider.d.ts +10 -0
  446. package/dest/tx/fee_provider.d.ts.map +1 -0
  447. package/dest/tx/fee_provider.js +1 -0
  448. package/dest/tx/global_variable_builder.d.ts +3 -4
  449. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  450. package/dest/tx/global_variables.d.ts +4 -4
  451. package/dest/tx/global_variables.d.ts.map +1 -1
  452. package/dest/tx/index.d.ts +2 -1
  453. package/dest/tx/index.d.ts.map +1 -1
  454. package/dest/tx/index.js +1 -0
  455. package/dest/tx/indexed_tx_effect.d.ts +1 -1
  456. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  457. package/dest/tx/indexed_tx_effect.js +1 -2
  458. package/dest/tx/private_execution_result.d.ts +6 -6
  459. package/dest/tx/private_execution_result.d.ts.map +1 -1
  460. package/dest/tx/private_execution_result.js +6 -6
  461. package/dest/tx/profiling.d.ts +17 -5
  462. package/dest/tx/profiling.d.ts.map +1 -1
  463. package/dest/tx/profiling.js +19 -9
  464. package/dest/tx/protocol_contracts.d.ts +1 -1
  465. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  466. package/dest/tx/protocol_contracts.js +2 -2
  467. package/dest/tx/public_simulation_output.d.ts +4 -2
  468. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  469. package/dest/tx/public_simulation_output.js +7 -3
  470. package/dest/tx/simulated_tx.d.ts +116 -5
  471. package/dest/tx/simulated_tx.d.ts.map +1 -1
  472. package/dest/tx/simulated_tx.js +7 -4
  473. package/dest/tx/tx.d.ts +8 -7
  474. package/dest/tx/tx.d.ts.map +1 -1
  475. package/dest/tx/tx.js +18 -6
  476. package/dest/tx/tx_receipt.d.ts +29 -6
  477. package/dest/tx/tx_receipt.d.ts.map +1 -1
  478. package/dest/tx/tx_receipt.js +23 -19
  479. package/dest/tx/tx_request.js +2 -2
  480. package/dest/tx/validator/empty_validator.d.ts +2 -2
  481. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  482. package/dest/tx/validator/error_texts.d.ts +10 -2
  483. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  484. package/dest/tx/validator/error_texts.js +11 -1
  485. package/dest/tx/validator/tx_validator.d.ts +2 -2
  486. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  487. package/dest/types/shared.d.ts +1 -10
  488. package/dest/types/shared.d.ts.map +1 -1
  489. package/dest/types/shared.js +0 -9
  490. package/dest/update-checker/index.d.ts +3 -2
  491. package/dest/update-checker/index.d.ts.map +1 -1
  492. package/dest/update-checker/index.js +2 -1
  493. package/dest/update-checker/package_version.d.ts +3 -0
  494. package/dest/update-checker/package_version.d.ts.map +1 -0
  495. package/dest/update-checker/package_version.js +24 -0
  496. package/dest/update-checker/version_checker.d.ts +25 -0
  497. package/dest/update-checker/version_checker.d.ts.map +1 -0
  498. package/dest/update-checker/version_checker.js +50 -0
  499. package/dest/validators/errors.d.ts +6 -1
  500. package/dest/validators/errors.d.ts.map +1 -1
  501. package/dest/validators/errors.js +7 -0
  502. package/dest/validators/schemas.d.ts +30 -30
  503. package/dest/validators/schemas.d.ts.map +1 -1
  504. package/dest/validators/schemas.js +4 -3
  505. package/dest/validators/types.d.ts +3 -3
  506. package/dest/validators/types.d.ts.map +1 -1
  507. package/dest/versioning/versioning.d.ts +4 -2
  508. package/dest/versioning/versioning.d.ts.map +1 -1
  509. package/dest/versioning/versioning.js +4 -1
  510. package/dest/vks/verification_key.d.ts +2 -137
  511. package/dest/vks/verification_key.d.ts.map +1 -1
  512. package/dest/vks/verification_key.js +5 -126
  513. package/dest/world-state/genesis_data.d.ts +11 -0
  514. package/dest/world-state/genesis_data.d.ts.map +1 -0
  515. package/dest/world-state/genesis_data.js +4 -0
  516. package/dest/world-state/index.d.ts +2 -1
  517. package/dest/world-state/index.d.ts.map +1 -1
  518. package/dest/world-state/index.js +1 -0
  519. package/dest/world-state/world_state_revision.d.ts +8 -1
  520. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  521. package/dest/world-state/world_state_revision.js +7 -1
  522. package/package.json +13 -11
  523. package/src/abi/abi.ts +25 -2
  524. package/src/abi/authorization_selector.ts +2 -8
  525. package/src/abi/buffer.ts +25 -4
  526. package/src/abi/decoder.ts +36 -82
  527. package/src/abi/encoder.ts +85 -6
  528. package/src/abi/event_metadata_definition.ts +2 -0
  529. package/src/abi/event_selector.ts +2 -8
  530. package/src/abi/function_call.ts +25 -3
  531. package/src/abi/function_selector.ts +4 -13
  532. package/src/abi/function_signature_decoder.ts +77 -0
  533. package/src/abi/index.ts +1 -0
  534. package/src/abi/note_selector.ts +3 -12
  535. package/src/abi/selector.ts +1 -1
  536. package/src/abi/utils.ts +25 -0
  537. package/src/auth_witness/auth_witness.ts +3 -3
  538. package/src/avm/revert_code.ts +26 -25
  539. package/src/aztec-address/index.ts +4 -10
  540. package/src/block/attestation_info.ts +11 -11
  541. package/src/block/block_data.ts +42 -0
  542. package/src/block/block_hash.ts +21 -14
  543. package/src/block/block_parameter.ts +35 -2
  544. package/src/block/index.ts +1 -0
  545. package/src/block/l2_block.ts +13 -1
  546. package/src/block/l2_block_info.ts +8 -6
  547. package/src/block/l2_block_source.ts +88 -9
  548. package/src/block/l2_block_stream/interfaces.ts +6 -2
  549. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  550. package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
  551. package/src/block/proposal/attestations_and_signers.ts +32 -17
  552. package/src/block/test/l2_tips_store_test_suite.ts +9 -2
  553. package/src/checkpoint/checkpoint.ts +54 -17
  554. package/src/checkpoint/checkpoint_data.ts +91 -0
  555. package/src/checkpoint/index.ts +2 -0
  556. package/src/checkpoint/published_checkpoint.ts +3 -1
  557. package/src/checkpoint/validate.ts +230 -0
  558. package/src/config/chain-config.ts +9 -4
  559. package/src/config/index.ts +2 -0
  560. package/src/config/pipelining-config.ts +31 -0
  561. package/src/config/sequencer-config.ts +65 -0
  562. package/src/contract/contract_address.ts +7 -7
  563. package/src/contract/contract_class.ts +3 -3
  564. package/src/contract/contract_class_id.ts +7 -6
  565. package/src/contract/index.ts +0 -2
  566. package/src/contract/interfaces/contract_class.ts +2 -82
  567. package/src/contract/interfaces/node-info.ts +3 -0
  568. package/src/contract/private_function.ts +5 -3
  569. package/src/epoch-helpers/index.ts +30 -0
  570. package/src/file-store/factory.ts +13 -4
  571. package/src/file-store/http.ts +29 -10
  572. package/src/file-store/index.ts +1 -0
  573. package/src/file-store/local.ts +15 -5
  574. package/src/file-store/s3.ts +12 -3
  575. package/src/gas/README.md +154 -0
  576. package/src/gas/fee_math.ts +120 -0
  577. package/src/gas/gas_fees.ts +20 -1
  578. package/src/gas/gas_settings.ts +65 -12
  579. package/src/gas/index.ts +1 -0
  580. package/src/ha-signing/config.ts +159 -0
  581. package/src/ha-signing/index.ts +29 -0
  582. package/src/ha-signing/local_config.ts +46 -0
  583. package/src/ha-signing/types.ts +126 -0
  584. package/src/hash/hash.ts +75 -10
  585. package/src/hash/map_slot.ts +2 -2
  586. package/src/interfaces/allowed_element.ts +29 -9
  587. package/src/interfaces/archiver.ts +28 -2
  588. package/src/interfaces/aztec-node-admin.ts +31 -8
  589. package/src/interfaces/aztec-node-debug.ts +40 -0
  590. package/src/interfaces/aztec-node.ts +129 -85
  591. package/src/interfaces/block-builder.ts +61 -14
  592. package/src/interfaces/block_response.ts +79 -0
  593. package/src/interfaces/chain_tips.ts +24 -0
  594. package/src/interfaces/checkpoint_parameter.ts +22 -0
  595. package/src/interfaces/checkpoint_response.ts +84 -0
  596. package/src/interfaces/client.ts +6 -0
  597. package/src/interfaces/configs.ts +43 -8
  598. package/src/interfaces/l1_publish_info.ts +40 -0
  599. package/src/interfaces/l2_logs_source.ts +4 -1
  600. package/src/interfaces/merkle_tree_operations.ts +12 -21
  601. package/src/interfaces/p2p.ts +2 -13
  602. package/src/interfaces/prover-client.ts +10 -5
  603. package/src/interfaces/server.ts +5 -0
  604. package/src/interfaces/slasher.ts +2 -6
  605. package/src/interfaces/validator.ts +76 -36
  606. package/src/interfaces/world_state.ts +4 -3
  607. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  608. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  609. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  610. package/src/kernel/hints/index.ts +2 -2
  611. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  612. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  613. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  614. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  615. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  616. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  617. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  618. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  619. package/src/kernel/private_validation_requests.ts +8 -8
  620. package/src/keys/derivation.ts +8 -8
  621. package/src/keys/key_types.ts +6 -2
  622. package/src/keys/public_keys.ts +2 -2
  623. package/src/keys/utils.ts +5 -5
  624. package/src/kv-store/config.ts +36 -0
  625. package/src/kv-store/index.ts +1 -0
  626. package/src/l1-contracts/index.ts +1 -1
  627. package/src/logs/debug_log_store.ts +54 -0
  628. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
  629. package/src/logs/index.ts +3 -1
  630. package/src/logs/log_filter.ts +5 -0
  631. package/src/logs/log_id.ts +1 -2
  632. package/src/logs/message_context.ts +17 -7
  633. package/src/logs/pending_tagged_log.ts +1 -3
  634. package/src/logs/pre_tag.ts +5 -5
  635. package/src/logs/public_log.ts +4 -2
  636. package/src/logs/shared_secret_derivation.ts +21 -10
  637. package/src/logs/siloed_tag.ts +23 -14
  638. package/src/logs/tag.ts +9 -9
  639. package/src/logs/tagging_index_range.ts +24 -0
  640. package/src/logs/tx_scoped_l2_log.ts +16 -0
  641. package/src/messaging/l1_to_l2_message.ts +12 -9
  642. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  643. package/src/messaging/l2_to_l1_membership.ts +101 -36
  644. package/src/noir/index.ts +2 -2
  645. package/src/note/index.ts +0 -1
  646. package/src/note/note_dao.ts +1 -4
  647. package/src/p2p/attestation_utils.ts +56 -0
  648. package/src/p2p/block_proposal.ts +97 -39
  649. package/src/p2p/checkpoint_attestation.ts +26 -30
  650. package/src/p2p/checkpoint_proposal.ts +109 -84
  651. package/src/p2p/client_type.ts +0 -6
  652. package/src/p2p/consensus_payload.ts +59 -24
  653. package/src/p2p/constants.ts +3 -0
  654. package/src/p2p/gossipable.ts +4 -4
  655. package/src/p2p/index.ts +0 -1
  656. package/src/p2p/peer_error.ts +7 -0
  657. package/src/p2p/signature_utils.ts +110 -25
  658. package/src/p2p/signed_txs.ts +46 -28
  659. package/src/p2p/topic_type.ts +8 -15
  660. package/src/parity/parity_base_private_inputs.ts +10 -4
  661. package/src/parity/parity_public_inputs.ts +9 -2
  662. package/src/proofs/chonk_proof.ts +91 -5
  663. package/src/rollup/block_headers_hash.ts +11 -2
  664. package/src/rollup/checkpoint_header.ts +2 -2
  665. package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
  666. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  667. package/src/slashing/helpers.ts +4 -0
  668. package/src/slashing/index.ts +1 -2
  669. package/src/slashing/serialization.ts +1 -81
  670. package/src/slashing/types.ts +10 -35
  671. package/src/slashing/{tally.ts → votes.ts} +34 -1
  672. package/src/tests/factories.ts +42 -68
  673. package/src/tests/mocks.ts +103 -53
  674. package/src/timetable/index.ts +361 -0
  675. package/src/trees/nullifier_leaf.ts +4 -0
  676. package/src/trees/public_data_leaf.ts +11 -5
  677. package/src/tx/block_header.ts +10 -4
  678. package/src/tx/capsule.ts +10 -2
  679. package/src/tx/fee_provider.ts +10 -0
  680. package/src/tx/global_variable_builder.ts +2 -3
  681. package/src/tx/global_variables.ts +3 -3
  682. package/src/tx/index.ts +1 -0
  683. package/src/tx/indexed_tx_effect.ts +1 -2
  684. package/src/tx/private_execution_result.ts +5 -5
  685. package/src/tx/profiling.ts +18 -9
  686. package/src/tx/protocol_contracts.ts +2 -2
  687. package/src/tx/public_simulation_output.ts +4 -0
  688. package/src/tx/simulated_tx.ts +14 -3
  689. package/src/tx/tx.ts +22 -13
  690. package/src/tx/tx_receipt.ts +28 -16
  691. package/src/tx/tx_request.ts +2 -2
  692. package/src/tx/validator/empty_validator.ts +1 -1
  693. package/src/tx/validator/error_texts.ts +13 -1
  694. package/src/tx/validator/tx_validator.ts +1 -1
  695. package/src/types/shared.ts +0 -10
  696. package/src/update-checker/index.ts +2 -1
  697. package/src/update-checker/package_version.ts +30 -0
  698. package/src/update-checker/version_checker.ts +65 -0
  699. package/src/validators/errors.ts +9 -0
  700. package/src/validators/schemas.ts +8 -1
  701. package/src/validators/types.ts +5 -4
  702. package/src/versioning/versioning.ts +4 -1
  703. package/src/vks/verification_key.ts +5 -184
  704. package/src/world-state/genesis_data.ts +15 -0
  705. package/src/world-state/index.ts +1 -0
  706. package/src/world-state/world_state_revision.ts +9 -1
  707. package/dest/abi/mocked_keys.d.ts +0 -2
  708. package/dest/abi/mocked_keys.d.ts.map +0 -1
  709. package/dest/abi/mocked_keys.js +0 -1
  710. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  711. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  712. package/dest/contract/private_function_membership_proof.js +0 -124
  713. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  714. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  715. package/dest/contract/utility_function_membership_proof.js +0 -87
  716. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  717. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  718. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  719. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  720. package/dest/l1-contracts/slash_factory.js +0 -158
  721. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  722. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  723. package/dest/note/notes_filter.d.ts +0 -27
  724. package/dest/note/notes_filter.d.ts.map +0 -1
  725. package/dest/note/notes_filter.js +0 -11
  726. package/dest/slashing/empire.d.ts +0 -31
  727. package/dest/slashing/empire.d.ts.map +0 -1
  728. package/dest/slashing/empire.js +0 -86
  729. package/dest/slashing/tally.d.ts.map +0 -1
  730. package/dest/update-checker/update-checker.d.ts +0 -49
  731. package/dest/update-checker/update-checker.d.ts.map +0 -1
  732. package/dest/update-checker/update-checker.js +0 -130
  733. package/src/abi/mocked_keys.ts +0 -2
  734. package/src/contract/private_function_membership_proof.ts +0 -167
  735. package/src/contract/utility_function_membership_proof.ts +0 -118
  736. package/src/l1-contracts/slash_factory.ts +0 -180
  737. package/src/note/notes_filter.ts +0 -38
  738. package/src/slashing/empire.ts +0 -103
  739. package/src/update-checker/update-checker.ts +0 -166
@@ -1,45 +0,0 @@
1
- import type { L1TxRequest } from '@aztec/ethereum/l1-tx-utils';
2
- import type { ViemClient } from '@aztec/ethereum/types';
3
- import { EthAddress } from '@aztec/foundation/eth-address';
4
- import { type Hex, type Log } from 'viem';
5
- import type { L1RollupConstants } from '../epoch-helpers/index.js';
6
- import { type SlashPayload, type ValidatorSlash, type ValidatorSlashOffense } from '../slashing/index.js';
7
- export declare class SlashFactoryContract {
8
- readonly client: ViemClient;
9
- private readonly logger;
10
- private readonly contract;
11
- constructor(client: ViemClient, address: Hex | EthAddress);
12
- get address(): EthAddress;
13
- buildCreatePayloadRequest(slashes: ValidatorSlash[]): L1TxRequest;
14
- /** Tries to extract a SlashPayloadCreated event from the given logs. */
15
- tryExtractSlashPayloadCreatedEvent(logs: Log[]): {
16
- eventName: "SlashPayloadCreated";
17
- args: {
18
- amounts: readonly bigint[];
19
- offenses: readonly (readonly bigint[])[];
20
- payloadAddress: `0x${string}`;
21
- validators: readonly `0x${string}`[];
22
- };
23
- } | undefined;
24
- getSlashPayloadCreatedEvents(): Promise<SlashPayload[]>;
25
- /**
26
- * Searches for a slash payload in the events emitted by the contract.
27
- * This method cannot query for historical payload events, it queries for payloads that have not yet expired.
28
- * @param payloadAddress The address of the payload to search for.
29
- * @param constants The L1 rollup constants needed for time calculations.
30
- */
31
- getSlashPayloadFromEvents(payloadAddress: EthAddress, settings: {
32
- logsBatchSize?: number;
33
- slashingRoundSize: number;
34
- slashingPayloadLifetimeInRounds: number;
35
- } & Pick<L1RollupConstants, 'slotDuration' | 'ethereumSlotDuration'>): Promise<Omit<SlashPayload, 'votes'> | undefined>;
36
- getAddressAndIsDeployed(slashes: ValidatorSlash[]): Promise<{
37
- address: EthAddress;
38
- salt: Hex;
39
- isDeployed: boolean;
40
- }>;
41
- private sortSlashes;
42
- }
43
- export declare function packValidatorSlashOffense(offense: ValidatorSlashOffense): bigint;
44
- export declare function unpackValidatorSlashOffense(packed: bigint): ValidatorSlashOffense;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hfZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2wxLWNvbnRyYWN0cy9zbGFzaF9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUkzRCxPQUFPLEVBQThCLEtBQUssR0FBRyxFQUFFLEtBQUssR0FBRyxFQUFtQyxNQUFNLE1BQU0sQ0FBQztBQUV2RyxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFFTCxLQUFLLFlBQVksRUFDakIsS0FBSyxjQUFjLEVBQ25CLEtBQUsscUJBQXFCLEVBRTNCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIscUJBQWEsb0JBQW9CO2FBS2IsTUFBTSxFQUFFLFVBQVU7SUFKcEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQTJDO0lBQ2xFLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUE0RDtJQUVyRixZQUNrQixNQUFNLEVBQUUsVUFBVSxFQUNsQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFVBQVUsRUFPMUI7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFTSx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsV0FBVyxDQWdCdkU7SUFFRCx3RUFBd0U7SUFDakUsa0NBQWtDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTs7Ozs7Ozs7a0JBRXBEO0lBRVksNEJBQTRCLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBZW5FO0lBRUQ7Ozs7O09BS0c7SUFDVSx5QkFBeUIsQ0FDcEMsY0FBYyxFQUFFLFVBQVUsRUFDMUIsUUFBUSxFQUFFO1FBQ1IsYUFBYSxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3ZCLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztRQUMxQiwrQkFBK0IsRUFBRSxNQUFNLENBQUM7S0FDekMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxHQUFHLHNCQUFzQixDQUFDLEdBQ25FLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQW1EbEQ7SUFFWSx1QkFBdUIsQ0FDbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxHQUN4QixPQUFPLENBQUM7UUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDO1FBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztRQUFDLFVBQVUsRUFBRSxPQUFPLENBQUE7S0FBRSxDQUFDLENBUWxFO0lBRUQsT0FBTyxDQUFDLFdBQVc7Q0FRcEI7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsT0FBTyxFQUFFLHFCQUFxQixHQUFHLE1BQU0sQ0FNaEY7QUFFRCx3QkFBZ0IsMkJBQTJCLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxxQkFBcUIsQ0FLakYifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"slash_factory.d.ts","sourceRoot":"","sources":["../../src/l1-contracts/slash_factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D,OAAO,EAA8B,KAAK,GAAG,EAAE,KAAK,GAAG,EAAmC,MAAM,MAAM,CAAC;AAEvG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAE3B,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,oBAAoB;aAKb,MAAM,EAAE,UAAU;IAJpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4D;IAErF,YACkB,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG,GAAG,UAAU,EAO1B;IAED,IAAW,OAAO,eAEjB;IAEM,yBAAyB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,WAAW,CAgBvE;IAED,wEAAwE;IACjE,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE;;;;;;;;kBAEpD;IAEY,4BAA4B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAenE;IAED;;;;;OAKG;IACU,yBAAyB,CACpC,cAAc,EAAE,UAAU,EAC1B,QAAQ,EAAE;QACR,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,+BAA+B,EAAE,MAAM,CAAC;KACzC,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,sBAAsB,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAmDlD;IAEY,uBAAuB,CAClC,OAAO,EAAE,cAAc,EAAE,GACxB,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAQlE;IAED,OAAO,CAAC,WAAW;CAQpB;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAMhF;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAKjF"}
@@ -1,158 +0,0 @@
1
- import { tryExtractEvent } from '@aztec/ethereum/utils';
2
- import { maxBigint } from '@aztec/foundation/bigint';
3
- import { EthAddress } from '@aztec/foundation/eth-address';
4
- import { createLogger } from '@aztec/foundation/log';
5
- import { SlashFactoryAbi } from '@aztec/l1-artifacts/SlashFactoryAbi';
6
- import { encodeFunctionData, getContract } from 'viem';
7
- import { OffenseToBigInt, bigIntToOffense } from '../slashing/index.js';
8
- export class SlashFactoryContract {
9
- client;
10
- logger;
11
- contract;
12
- constructor(client, address){
13
- this.client = client;
14
- this.logger = createLogger('contracts:slash_factory');
15
- this.contract = getContract({
16
- address: typeof address === 'string' ? address : address.toString(),
17
- abi: SlashFactoryAbi,
18
- client
19
- });
20
- }
21
- get address() {
22
- return EthAddress.fromString(this.contract.address);
23
- }
24
- buildCreatePayloadRequest(slashes) {
25
- const sorted = this.sortSlashes(slashes);
26
- return {
27
- to: this.contract.address,
28
- abi: SlashFactoryAbi,
29
- data: encodeFunctionData({
30
- abi: SlashFactoryAbi,
31
- functionName: 'createSlashPayload',
32
- args: [
33
- sorted.map((d)=>d.validator.toString()),
34
- sorted.map((d)=>d.amount),
35
- sorted.map((d)=>d.offenses.map(packValidatorSlashOffense))
36
- ]
37
- })
38
- };
39
- }
40
- /** Tries to extract a SlashPayloadCreated event from the given logs. */ tryExtractSlashPayloadCreatedEvent(logs) {
41
- return tryExtractEvent(logs, this.address.toString(), SlashFactoryAbi, 'SlashPayloadCreated');
42
- }
43
- async getSlashPayloadCreatedEvents() {
44
- const events = await this.contract.getEvents.SlashPayloadCreated();
45
- return Promise.all(events.map(async (event)=>{
46
- const { validators, amounts, offenses } = event.args;
47
- const slashes = validators.map((validator, i)=>({
48
- validator: EthAddress.fromString(validator),
49
- amount: amounts[i],
50
- offenses: offenses[i].map(unpackValidatorSlashOffense)
51
- }));
52
- const block = await this.client.getBlock({
53
- blockNumber: event.blockNumber,
54
- includeTransactions: false
55
- });
56
- return {
57
- address: EthAddress.fromString(event.args.payloadAddress),
58
- slashes,
59
- timestamp: block.timestamp
60
- };
61
- }));
62
- }
63
- /**
64
- * Searches for a slash payload in the events emitted by the contract.
65
- * This method cannot query for historical payload events, it queries for payloads that have not yet expired.
66
- * @param payloadAddress The address of the payload to search for.
67
- * @param constants The L1 rollup constants needed for time calculations.
68
- */ async getSlashPayloadFromEvents(payloadAddress, settings) {
69
- // We query for the log where the payload was emitted walking backwards until we go past payload expiration time
70
- // Note that all log queries require a block range, and RPC providers cap the max range (eg quicknode is 10k blocks).
71
- const { slashingRoundSize, slashingPayloadLifetimeInRounds, slotDuration, ethereumSlotDuration } = settings;
72
- const currentBlockNumber = await this.client.getBlockNumber({
73
- cacheTime: 0
74
- });
75
- // Why the +1 below? Just for good measure. Better err on the safe side.
76
- const earliestBlockNumber = maxBigint(0n, currentBlockNumber - (BigInt(slashingPayloadLifetimeInRounds) + 1n) * BigInt(slashingRoundSize) * BigInt(slotDuration) / BigInt(ethereumSlotDuration));
77
- this.logger.trace(`Starting search for slash payload ${payloadAddress} from block ${currentBlockNumber} with earliest block ${earliestBlockNumber}`);
78
- const batchSize = BigInt(settings.logsBatchSize ?? 10000);
79
- let toBlock = currentBlockNumber;
80
- do {
81
- const fromBlock = maxBigint(earliestBlockNumber, toBlock - batchSize);
82
- this.logger.trace(`Searching for slash payload ${payloadAddress} in blocks ${fromBlock} to ${toBlock}`);
83
- const logs = await this.contract.getEvents.SlashPayloadCreated({
84
- payloadAddress: payloadAddress.toString()
85
- }, {
86
- fromBlock,
87
- toBlock,
88
- strict: true
89
- });
90
- // We found the payload, return it
91
- if (logs.length > 0) {
92
- const log = logs[0];
93
- const { validators, amounts, offenses } = log.args;
94
- // Convert the data to our internal types
95
- const slashes = validators.map((validator, i)=>({
96
- validator: EthAddress.fromString(validator),
97
- amount: amounts[i],
98
- offenses: offenses[i].map(unpackValidatorSlashOffense)
99
- }));
100
- // Get the timestamp from the block
101
- const block = await this.client.getBlock({
102
- blockNumber: log.blockNumber,
103
- includeTransactions: false
104
- });
105
- return {
106
- address: payloadAddress,
107
- slashes,
108
- timestamp: block.timestamp
109
- };
110
- }
111
- // If not found, we go back one batch
112
- toBlock -= batchSize;
113
- }while (toBlock > earliestBlockNumber)
114
- return undefined;
115
- }
116
- async getAddressAndIsDeployed(slashes) {
117
- const sortedSlashes = this.sortSlashes(slashes);
118
- const [address, salt, isDeployed] = await this.contract.read.getAddressAndIsDeployed([
119
- sortedSlashes.map((s)=>s.validator.toString()),
120
- sortedSlashes.map((s)=>s.amount),
121
- sortedSlashes.map((s)=>s.offenses.map(packValidatorSlashOffense))
122
- ]);
123
- return {
124
- address: EthAddress.fromString(address),
125
- salt,
126
- isDeployed
127
- };
128
- }
129
- sortSlashes(slashes) {
130
- const offenseSorter = (a, b)=>{
131
- return a.epochOrSlot === b.epochOrSlot ? a.offenseType - b.offenseType : Number(a.epochOrSlot - b.epochOrSlot);
132
- };
133
- return [
134
- ...slashes
135
- ].map((slash)=>({
136
- ...slash,
137
- offenses: [
138
- ...slash.offenses
139
- ].sort(offenseSorter)
140
- })).sort((a, b)=>a.validator.toString().localeCompare(b.validator.toString()));
141
- }
142
- }
143
- export function packValidatorSlashOffense(offense) {
144
- const offenseId = OffenseToBigInt[offense.offenseType];
145
- if (offenseId > (1 << 8) - 1) {
146
- throw new Error(`Offense type ${offense.offenseType} cannot be packed into 8 bits`);
147
- }
148
- return (offenseId << 120n) + offense.epochOrSlot;
149
- }
150
- export function unpackValidatorSlashOffense(packed) {
151
- const offenseId = packed >> 120n & 0xffn;
152
- const epochOrSlot = packed & (1n << 120n) - 1n;
153
- const offenseType = bigIntToOffense(offenseId);
154
- return {
155
- epochOrSlot,
156
- offenseType
157
- };
158
- }
@@ -1,40 +0,0 @@
1
- import { type Fq, Fr } from '@aztec/foundation/curves/bn254';
2
- import { z } from 'zod';
3
- import type { AztecAddress } from '../aztec-address/index.js';
4
- import type { CompleteAddress } from '../contract/complete_address.js';
5
- /**
6
- * Directional application tagging secret used for log tagging.
7
- *
8
- * "Directional" because the derived secret is bound to the recipient
9
- * address: A→B differs from B→A even with the same participants and app.
10
- *
11
- * Note: It's a bit unfortunate that this type resides in `stdlib` as the rest of the tagging functionality resides
12
- * in `pxe/src/tagging`. We need to use this type in `PreTag` that in turn is used by other types
13
- * in stdlib hence there doesn't seem to be a good way around this.
14
- */
15
- export declare class DirectionalAppTaggingSecret {
16
- readonly value: Fr;
17
- private constructor();
18
- /**
19
- * Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
20
- * secret.
21
- *
22
- * @param localAddress - The complete address of entity A in the shared tagging secret derivation scheme
23
- * @param localIvsk - The incoming viewing secret key of entity A
24
- * @param externalAddress - The address of entity B in the shared tagging secret derivation scheme
25
- * @param app - Contract address to silo the secret to
26
- * @param recipient - Recipient of the log. Defines the "direction of the secret".
27
- * @returns The secret that can be used along with an index to compute a tag to be included in a log.
28
- */
29
- static compute(localAddress: CompleteAddress, localIvsk: Fq, externalAddress: AztecAddress, app: AztecAddress, recipient: AztecAddress): Promise<DirectionalAppTaggingSecret>;
30
- toString(): string;
31
- static fromString(str: string): DirectionalAppTaggingSecret;
32
- }
33
- export declare const DirectionalAppTaggingSecretSchema: z.ZodObject<{
34
- value: z.ZodType<Fr, any, string>;
35
- }, "strip", z.ZodTypeAny, {
36
- value: Fr;
37
- }, {
38
- value: string;
39
- }>;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9uYWxfYXBwX3RhZ2dpbmdfc2VjcmV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9kaXJlY3Rpb25hbF9hcHBfdGFnZ2luZ19zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHdkU7Ozs7Ozs7OztHQVNHO0FBQ0gscUJBQWEsMkJBQTJCO2FBQ0YsS0FBSyxFQUFFLEVBQUU7SUFBN0MsT0FBTyxlQUEwQztJQUVqRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsT0FBYSxPQUFPLENBQ2xCLFlBQVksRUFBRSxlQUFlLEVBQzdCLFNBQVMsRUFBRSxFQUFFLEVBQ2IsZUFBZSxFQUFFLFlBQVksRUFDN0IsR0FBRyxFQUFFLFlBQVksRUFDakIsU0FBUyxFQUFFLFlBQVksR0FDdEIsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBTXRDO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsMkJBQTJCLENBRTFEO0NBQ0Y7QUFvQkQsZUFBTyxNQUFNLGlDQUFpQzs7Ozs7O0VBRTVDLENBQUMifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"directional_app_tagging_secret.d.ts","sourceRoot":"","sources":["../../src/logs/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,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE;;;;;;;;;GASG;AACH,qBAAa,2BAA2B;aACF,KAAK,EAAE,EAAE;IAA7C,OAAO,eAA0C;IAEjD;;;;;;;;;;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,2BAA2B,CAAC,CAMtC;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,2BAA2B,CAE1D;CACF;AAoBD,eAAO,MAAM,iCAAiC;;;;;;EAE5C,CAAC"}
@@ -1,27 +0,0 @@
1
- import type { Fr } from '@aztec/foundation/curves/bn254';
2
- import type { AztecAddress } from '../aztec-address/index.js';
3
- import { type ZodFor } from '../schemas/index.js';
4
- import { NoteStatus } from './note_status.js';
5
- /**
6
- * A filter used to fetch notes.
7
- * @remarks This filter is applied as an intersection of all its params.
8
- */
9
- export type NotesFilter = {
10
- /**
11
- * The contract address the note belongs to.
12
- * @remarks Providing a contract address is required as we need that information to trigger private state sync.
13
- */
14
- contractAddress: AztecAddress;
15
- /** The owner of the note. */
16
- owner?: AztecAddress;
17
- /** The specific storage location of the note on the contract. */
18
- storageSlot?: Fr;
19
- /** The status of the note. Defaults to 'ACTIVE'. */
20
- status?: NoteStatus;
21
- /** The siloed nullifier for the note. */
22
- siloedNullifier?: Fr;
23
- /** The scopes in which to get notes from. This defaults to all scopes. */
24
- scopes?: AztecAddress[];
25
- };
26
- export declare const NotesFilterSchema: ZodFor<NotesFilter>;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZXNfZmlsdGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbm90ZS9ub3Rlc19maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFXLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDOzs7R0FHRztBQUNILE1BQU0sTUFBTSxXQUFXLEdBQUc7SUFDeEI7OztPQUdHO0lBQ0gsZUFBZSxFQUFFLFlBQVksQ0FBQztJQUM5Qiw2QkFBNkI7SUFDN0IsS0FBSyxDQUFDLEVBQUUsWUFBWSxDQUFDO0lBQ3JCLGlFQUFpRTtJQUNqRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDakIsb0RBQW9EO0lBQ3BELE1BQU0sQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNwQix5Q0FBeUM7SUFDekMsZUFBZSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3JCLDBFQUEwRTtJQUMxRSxNQUFNLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQztDQUN6QixDQUFDO0FBRUYsZUFBTyxNQUFNLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxXQUFXLENBT2hELENBQUMifQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"notes_filter.d.ts","sourceRoot":"","sources":["../../src/note/notes_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,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;;OAGG;IACH,eAAe,EAAE,YAAY,CAAC;IAC9B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,iEAAiE;IACjE,WAAW,CAAC,EAAE,EAAE,CAAC;IACjB,oDAAoD;IACpD,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,yCAAyC;IACzC,eAAe,CAAC,EAAE,EAAE,CAAC;IACrB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAOhD,CAAC"}
@@ -1,11 +0,0 @@
1
- import { z } from 'zod';
2
- import { schemas } from '../schemas/index.js';
3
- import { NoteStatus } from './note_status.js';
4
- export const NotesFilterSchema = z.object({
5
- contractAddress: schemas.AztecAddress,
6
- owner: schemas.AztecAddress.optional(),
7
- storageSlot: schemas.Fr.optional(),
8
- status: z.nativeEnum(NoteStatus).optional(),
9
- siloedNullifier: schemas.Fr.optional(),
10
- scopes: z.array(schemas.AztecAddress).optional()
11
- });
@@ -1,31 +0,0 @@
1
- import type { Offense, OffenseIdentifier, SlashPayload, SlashPayloadRound, ValidatorSlash } from './types.js';
2
- import { OffenseType } from './types.js';
3
- /**
4
- * Returns true if the offense is uncontroversial as in it can be verified via L1 data alone,
5
- * and does not depend on the local view of the node of the L2 p2p network.
6
- * @param offense - The offense type to check
7
- */
8
- export declare function isOffenseUncontroversial(offense: OffenseType): boolean;
9
- /** Extracts offense identifiers (validator, epoch, offense type) from an Empire-based SlashPayload */
10
- export declare function getOffenseIdentifiersFromPayload(payload: SlashPayload | SlashPayloadRound): OffenseIdentifier[];
11
- /** Creates ValidatorSlashes used to create an Empire-based SlashPayload from a set of Offenses */
12
- export declare function offensesToValidatorSlash(offenses: Offense[]): ValidatorSlash[];
13
- /**
14
- * Sorts offense data by:
15
- * - Uncontroversial offenses first
16
- * - Slash amount (descending)
17
- * - Epoch or slot (ascending, ie oldest first)
18
- * - Validator address (ascending)
19
- * - Offense type (descending)
20
- */
21
- export declare function offenseDataComparator(a: Offense, b: Offense): number;
22
- /**
23
- * Returns the first round in which the offense is eligible for being included in an Empire-based slash payload.
24
- * Should be equal to to the first round that starts strictly after the offense becomes detectable.
25
- */
26
- export declare function getFirstEligibleRoundForOffense(offense: OffenseIdentifier, constants: {
27
- slashingRoundSize: number;
28
- epochDuration: number;
29
- proofSubmissionEpochs: number;
30
- }): bigint;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhc2hpbmcvZW1waXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekM7Ozs7R0FJRztBQUNILHdCQUFnQix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FNdEU7QUFFRCxzR0FBc0c7QUFDdEcsd0JBQWdCLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsQ0FRL0c7QUFFRCxrR0FBa0c7QUFDbEcsd0JBQWdCLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FNOUU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBUXBFO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLCtCQUErQixDQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQzFCLFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM3RixNQUFNLENBc0NSIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"empire.d.ts","sourceRoot":"","sources":["../../src/slashing/empire.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAMtE;AAED,sGAAsG;AACtG,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAQ/G;AAED,kGAAkG;AAClG,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAM9E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAQpE;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,GAC7F,MAAM,CAsCR"}
@@ -1,86 +0,0 @@
1
- import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
- import { getRoundForSlot, getRoundsForEpoch } from './helpers.js';
3
- import { OffenseType } from './types.js';
4
- /**
5
- * Returns true if the offense is uncontroversial as in it can be verified via L1 data alone,
6
- * and does not depend on the local view of the node of the L2 p2p network.
7
- * @param offense - The offense type to check
8
- */ export function isOffenseUncontroversial(offense) {
9
- return offense === OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS || offense === OffenseType.PROPOSED_INCORRECT_ATTESTATIONS || offense === OffenseType.ATTESTED_DESCENDANT_OF_INVALID;
10
- }
11
- /** Extracts offense identifiers (validator, epoch, offense type) from an Empire-based SlashPayload */ export function getOffenseIdentifiersFromPayload(payload) {
12
- return payload.slashes.flatMap((slash)=>slash.offenses.map((o)=>({
13
- validator: slash.validator,
14
- offenseType: o.offenseType,
15
- epochOrSlot: o.epochOrSlot
16
- })));
17
- }
18
- /** Creates ValidatorSlashes used to create an Empire-based SlashPayload from a set of Offenses */ export function offensesToValidatorSlash(offenses) {
19
- return offenses.map((offense)=>({
20
- validator: offense.validator,
21
- amount: offense.amount,
22
- offenses: [
23
- {
24
- epochOrSlot: offense.epochOrSlot,
25
- offenseType: offense.offenseType
26
- }
27
- ]
28
- }));
29
- }
30
- /**
31
- * Sorts offense data by:
32
- * - Uncontroversial offenses first
33
- * - Slash amount (descending)
34
- * - Epoch or slot (ascending, ie oldest first)
35
- * - Validator address (ascending)
36
- * - Offense type (descending)
37
- */ export function offenseDataComparator(a, b) {
38
- return Number(isOffenseUncontroversial(b.offenseType)) - Number(isOffenseUncontroversial(a.offenseType)) || Number(b.amount - a.amount) || Number(a.epochOrSlot - b.epochOrSlot) || a.validator.toString().localeCompare(b.validator.toString()) || Number(b.offenseType) - Number(a.offenseType);
39
- }
40
- /**
41
- * Returns the first round in which the offense is eligible for being included in an Empire-based slash payload.
42
- * Should be equal to to the first round that starts strictly after the offense becomes detectable.
43
- */ export function getFirstEligibleRoundForOffense(offense, constants) {
44
- // TODO(palla/slash): Check for off-by-ones
45
- switch(offense.offenseType){
46
- // Inactivity is detected at the end of the epoch, so we flag it as detected in the first fresh round for the next epoch
47
- case OffenseType.INACTIVITY:
48
- {
49
- const epoch = offense.epochOrSlot;
50
- const detectedEpoch = EpochNumber.fromBigInt(epoch + 1n);
51
- return getRoundsForEpoch(detectedEpoch, constants)[0] + 1n;
52
- }
53
- // These offenses are detected once an epoch is pruned, which happens after the proof submission window
54
- case OffenseType.VALID_EPOCH_PRUNED:
55
- case OffenseType.DATA_WITHHOLDING:
56
- {
57
- // TODO(palla/slash): Check for off-by-ones especially here
58
- const epoch = offense.epochOrSlot;
59
- const detectedEpoch = EpochNumber.fromBigInt(epoch + BigInt(constants.proofSubmissionEpochs));
60
- return getRoundsForEpoch(detectedEpoch, constants)[0] + 1n;
61
- }
62
- // These offenses are detected immediately in the slot they occur, so we assume they are detected in the first round for the following slot
63
- case OffenseType.PROPOSED_INSUFFICIENT_ATTESTATIONS:
64
- case OffenseType.PROPOSED_INCORRECT_ATTESTATIONS:
65
- case OffenseType.ATTESTED_DESCENDANT_OF_INVALID:
66
- case OffenseType.BROADCASTED_INVALID_BLOCK_PROPOSAL:
67
- case OffenseType.DUPLICATE_PROPOSAL:
68
- {
69
- const slot = offense.epochOrSlot;
70
- const detectedSlot = SlotNumber.fromBigInt(slot + 1n);
71
- return getRoundForSlot(detectedSlot, constants).round + 1n;
72
- }
73
- // Assume these are epoch-based offenses, even though we should never have to process these
74
- case OffenseType.UNKNOWN:
75
- {
76
- const epoch = offense.epochOrSlot;
77
- const detectedEpoch = EpochNumber.fromBigInt(epoch + 1n);
78
- return getRoundsForEpoch(detectedEpoch, constants)[0] + 1n;
79
- }
80
- default:
81
- {
82
- const _ = offense.offenseType;
83
- throw new Error(`Unknown offense type: ${offense.offenseType}`);
84
- }
85
- }
86
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"tally.d.ts","sourceRoot":"","sources":["../../src/slashing/tally.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;;GAOG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAC7C,UAAU,EAAE,UAAU,EAAE,EAAE,EAC1B,mBAAmB,EAAE,MAAM,EAAE,EAC7B,QAAQ,EAAE;IACR,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GACA,kBAAkB,EAAE,CA+BtB;AAeD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAe7E"}
@@ -1,49 +0,0 @@
1
- import type { ViemClient } from '@aztec/ethereum/types';
2
- import { EthAddress } from '@aztec/foundation/eth-address';
3
- import { EventEmitter } from 'events';
4
- export type EventMap = {
5
- newRollupVersion: [{
6
- currentVersion: bigint;
7
- latestVersion: bigint;
8
- }];
9
- newNodeVersion: [{
10
- currentVersion: string;
11
- latestVersion: string;
12
- }];
13
- updateNodeConfig: [object];
14
- updatePublicTelemetryConfig: [object];
15
- };
16
- type Config = {
17
- baseURL: URL;
18
- nodeVersion?: string;
19
- checkIntervalMs?: number;
20
- registryContractAddress: EthAddress;
21
- publicClient: ViemClient;
22
- fetch?: typeof fetch;
23
- };
24
- export declare class UpdateChecker extends EventEmitter<EventMap> {
25
- private updatesUrl;
26
- private nodeVersion;
27
- private rollupVersion;
28
- private fetch;
29
- private getLatestRollupVersion;
30
- private checkIntervalMs;
31
- private log;
32
- private runningPromise;
33
- private lastPatchedConfig;
34
- private lastPatchedPublicTelemetryConfig;
35
- constructor(updatesUrl: URL, nodeVersion: string | undefined, rollupVersion: bigint, fetch: typeof globalThis.fetch, getLatestRollupVersion: () => Promise<bigint>, checkIntervalMs?: number, log?: import("@aztec/foundation/log").Logger);
36
- static new(config: Config): Promise<UpdateChecker>;
37
- start(): void;
38
- stop(): Promise<void>;
39
- trigger(): Promise<void>;
40
- private runChecks;
41
- private checkRollupVersion;
42
- private checkConfig;
43
- }
44
- /**
45
- * Returns package version.
46
- */
47
- export declare function getPackageVersion(): string | undefined;
48
- export {};
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWNoZWNrZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGRhdGUtY2hlY2tlci91cGRhdGUtY2hlY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFLM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQVl0QyxNQUFNLE1BQU0sUUFBUSxHQUFHO0lBQ3JCLGdCQUFnQixFQUFFLENBQUM7UUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDO1FBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBQUMsQ0FBQztJQUN0RSxjQUFjLEVBQUUsQ0FBQztRQUFFLGNBQWMsRUFBRSxNQUFNLENBQUM7UUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQyxDQUFDO0lBQ3BFLGdCQUFnQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsMkJBQTJCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUN2QyxDQUFDO0FBRUYsS0FBSyxNQUFNLEdBQUc7SUFDWixPQUFPLEVBQUUsR0FBRyxDQUFDO0lBQ2IsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN6Qix1QkFBdUIsRUFBRSxVQUFVLENBQUM7SUFDcEMsWUFBWSxFQUFFLFVBQVUsQ0FBQztJQUN6QixLQUFLLENBQUMsRUFBRSxPQUFPLEtBQUssQ0FBQztDQUN0QixDQUFDO0FBRUYscUJBQWEsYUFBYyxTQUFRLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFNckQsT0FBTyxDQUFDLFVBQVU7SUFDbEIsT0FBTyxDQUFDLFdBQVc7SUFDbkIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLEtBQUs7SUFDYixPQUFPLENBQUMsc0JBQXNCO0lBQzlCLE9BQU8sQ0FBQyxlQUFlO0lBQ3ZCLE9BQU8sQ0FBQyxHQUFHO0lBWGIsT0FBTyxDQUFDLGNBQWMsQ0FBaUI7SUFDdkMsT0FBTyxDQUFDLGlCQUFpQixDQUFjO0lBQ3ZDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBYztJQUV0RCxZQUNVLFVBQVUsRUFBRSxHQUFHLEVBQ2YsV0FBVyxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQy9CLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLEtBQUssRUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQzlCLHNCQUFzQixFQUFFLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUM3QyxlQUFlLFNBQWMsRUFDN0IsR0FBRyx5Q0FBMEMsRUFJdEQ7SUFFRCxPQUFvQixHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBWTlEO0lBRU0sS0FBSyxJQUFJLElBQUksQ0FXbkI7SUFFTSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQU0zQjtJQUVNLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTlCO0lBRUQsT0FBTyxDQUFDLFNBQVMsQ0FFZjtZQUVZLGtCQUFrQjtZQWVsQixXQUFXO0NBc0MxQjtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLGlCQUFpQixJQUFJLE1BQU0sR0FBRyxTQUFTLENBV3REIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../../src/update-checker/update-checker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAYtC,MAAM,MAAM,QAAQ,GAAG;IACrB,gBAAgB,EAAE,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,cAAc,EAAE,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;IAC3B,2BAA2B,EAAE,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,UAAU,CAAC;IACpC,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF,qBAAa,aAAc,SAAQ,YAAY,CAAC,QAAQ,CAAC;IAMrD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,GAAG;IAXb,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,gCAAgC,CAAc;IAEtD,YACU,UAAU,EAAE,GAAG,EACf,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,EAC9B,sBAAsB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC7C,eAAe,SAAc,EAC7B,GAAG,yCAA0C,EAItD;IAED,OAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAY9D;IAEM,KAAK,IAAI,IAAI,CAWnB;IAEM,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3B;IAEM,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9B;IAED,OAAO,CAAC,SAAS,CAEf;YAEY,kBAAkB;YAelB,WAAW;CAsC1B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAWtD"}
@@ -1,130 +0,0 @@
1
- import { RegistryContract } from '@aztec/ethereum/contracts';
2
- import { createLogger } from '@aztec/foundation/log';
3
- import { RunningPromise } from '@aztec/foundation/running-promise';
4
- import { fileURLToPath } from '@aztec/foundation/url';
5
- import { EventEmitter } from 'events';
6
- import { readFileSync } from 'fs';
7
- import { dirname, resolve } from 'path';
8
- import { isDeepStrictEqual } from 'util';
9
- import { z } from 'zod';
10
- const updateConfigSchema = z.object({
11
- version: z.string().optional(),
12
- publicTelemetry: z.any().optional(),
13
- config: z.any().optional()
14
- });
15
- export class UpdateChecker extends EventEmitter {
16
- updatesUrl;
17
- nodeVersion;
18
- rollupVersion;
19
- fetch;
20
- getLatestRollupVersion;
21
- checkIntervalMs;
22
- log;
23
- runningPromise;
24
- lastPatchedConfig;
25
- lastPatchedPublicTelemetryConfig;
26
- constructor(updatesUrl, nodeVersion, rollupVersion, fetch1, getLatestRollupVersion, checkIntervalMs = 10 * 60_000, log = createLogger('foundation:update-check')){
27
- super(), this.updatesUrl = updatesUrl, this.nodeVersion = nodeVersion, this.rollupVersion = rollupVersion, this.fetch = fetch1, this.getLatestRollupVersion = getLatestRollupVersion, this.checkIntervalMs = checkIntervalMs, this.log = log, this.lastPatchedConfig = {}, this.lastPatchedPublicTelemetryConfig = {}, this.runChecks = async ()=>{
28
- await Promise.all([
29
- this.checkRollupVersion(),
30
- this.checkConfig()
31
- ]);
32
- };
33
- this.runningPromise = new RunningPromise(this.runChecks, this.log, this.checkIntervalMs);
34
- }
35
- static async new(config) {
36
- const registryContract = new RegistryContract(config.publicClient, config.registryContractAddress);
37
- const getLatestRollupVersion = ()=>registryContract.getRollupVersions().then((versions)=>versions.at(-1));
38
- return new UpdateChecker(config.baseURL, config.nodeVersion ?? getPackageVersion(), await getLatestRollupVersion(), config.fetch ?? fetch, getLatestRollupVersion, config.checkIntervalMs);
39
- }
40
- start() {
41
- if (this.runningPromise.isRunning()) {
42
- this.log.debug(`Can't start update checker again`);
43
- return;
44
- }
45
- this.log.info('Starting update checker', {
46
- nodeVersion: this.nodeVersion,
47
- rollupVersion: this.rollupVersion
48
- });
49
- this.runningPromise.start();
50
- }
51
- stop() {
52
- if (!this.runningPromise.isRunning()) {
53
- this.log.debug(`Can't stop update checker because it is not running`);
54
- return Promise.resolve();
55
- }
56
- return this.runningPromise.stop();
57
- }
58
- trigger() {
59
- return this.runningPromise.trigger();
60
- }
61
- runChecks;
62
- async checkRollupVersion() {
63
- try {
64
- const canonicalRollupVersion = await this.getLatestRollupVersion();
65
- if (canonicalRollupVersion !== this.rollupVersion) {
66
- this.log.debug('New canonical rollup version', {
67
- currentVersion: this.rollupVersion,
68
- latestVersion: canonicalRollupVersion
69
- });
70
- this.emit('newRollupVersion', {
71
- currentVersion: this.rollupVersion,
72
- latestVersion: canonicalRollupVersion
73
- });
74
- }
75
- } catch (err) {
76
- this.log.warn(`Failed to check if there is a new rollup`, err);
77
- }
78
- }
79
- async checkConfig() {
80
- try {
81
- const response = await this.fetch(this.updatesUrl);
82
- const body = await response.json();
83
- if (!response.ok) {
84
- this.log.warn(`Unexpected HTTP response checking for updates`, {
85
- status: response.status,
86
- body: await response.text(),
87
- url: this.updatesUrl
88
- });
89
- }
90
- const { version, config, publicTelemetry } = updateConfigSchema.parse(body);
91
- if (this.nodeVersion && version && version !== this.nodeVersion) {
92
- this.log.debug('New node version', {
93
- currentVersion: this.nodeVersion,
94
- latestVersion: version
95
- });
96
- this.emit('newNodeVersion', {
97
- currentVersion: this.nodeVersion,
98
- latestVersion: version
99
- });
100
- }
101
- if (config && Object.keys(config).length > 0 && !isDeepStrictEqual(config, this.lastPatchedConfig)) {
102
- this.log.debug('New node config', {
103
- config
104
- });
105
- this.lastPatchedConfig = config;
106
- this.emit('updateNodeConfig', config);
107
- }
108
- if (publicTelemetry && Object.keys(publicTelemetry).length > 0 && !isDeepStrictEqual(publicTelemetry, this.lastPatchedPublicTelemetryConfig)) {
109
- this.log.debug('New metrics config', {
110
- config
111
- });
112
- this.lastPatchedPublicTelemetryConfig = publicTelemetry;
113
- this.emit('updatePublicTelemetryConfig', publicTelemetry);
114
- }
115
- } catch (err) {
116
- this.log.warn(`Failed to check if there is an update`, err);
117
- }
118
- }
119
- }
120
- /**
121
- * Returns package version.
122
- */ export function getPackageVersion() {
123
- try {
124
- const releasePleaseManifestPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../../../.release-please-manifest.json');
125
- const version = JSON.parse(readFileSync(releasePleaseManifestPath).toString())['.'];
126
- return version;
127
- } catch {
128
- return undefined;
129
- }
130
- }
@@ -1,2 +0,0 @@
1
- export const mockVerificationKey =
2
- '0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f';