@aztec/stdlib 0.0.1-commit.0c875d939 → 0.0.1-commit.10bd49492

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 (362) hide show
  1. package/dest/abi/decoder.d.ts +2 -2
  2. package/dest/abi/decoder.d.ts.map +1 -1
  3. package/dest/abi/decoder.js +7 -5
  4. package/dest/abi/encoder.d.ts +1 -1
  5. package/dest/abi/encoder.d.ts.map +1 -1
  6. package/dest/abi/encoder.js +37 -6
  7. package/dest/abi/event_metadata_definition.d.ts +3 -1
  8. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  9. package/dest/abi/event_metadata_definition.js +1 -1
  10. package/dest/abi/utils.d.ts +14 -1
  11. package/dest/abi/utils.d.ts.map +1 -1
  12. package/dest/abi/utils.js +15 -0
  13. package/dest/auth_witness/auth_witness.js +3 -3
  14. package/dest/avm/avm.d.ts +300 -300
  15. package/dest/avm/avm_proving_request.d.ts +166 -166
  16. package/dest/avm/revert_code.d.ts +16 -1
  17. package/dest/avm/revert_code.d.ts.map +1 -1
  18. package/dest/avm/revert_code.js +15 -5
  19. package/dest/block/block_data.d.ts +52 -0
  20. package/dest/block/block_data.d.ts.map +1 -0
  21. package/dest/block/block_data.js +12 -0
  22. package/dest/block/index.d.ts +2 -1
  23. package/dest/block/index.d.ts.map +1 -1
  24. package/dest/block/index.js +1 -0
  25. package/dest/block/l2_block.d.ts +9 -1
  26. package/dest/block/l2_block.d.ts.map +1 -1
  27. package/dest/block/l2_block.js +12 -2
  28. package/dest/block/l2_block_source.d.ts +33 -8
  29. package/dest/block/l2_block_source.d.ts.map +1 -1
  30. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  31. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  32. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  33. package/dest/checkpoint/checkpoint.d.ts +7 -1
  34. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  35. package/dest/checkpoint/checkpoint.js +14 -8
  36. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  37. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  38. package/dest/checkpoint/checkpoint_data.js +26 -0
  39. package/dest/checkpoint/index.d.ts +3 -1
  40. package/dest/checkpoint/index.d.ts.map +1 -1
  41. package/dest/checkpoint/index.js +2 -0
  42. package/dest/checkpoint/published_checkpoint.d.ts +11 -2
  43. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  44. package/dest/checkpoint/published_checkpoint.js +1 -2
  45. package/dest/checkpoint/validate.d.ts +36 -0
  46. package/dest/checkpoint/validate.d.ts.map +1 -0
  47. package/dest/checkpoint/validate.js +120 -0
  48. package/dest/config/sequencer-config.d.ts +4 -2
  49. package/dest/config/sequencer-config.d.ts.map +1 -1
  50. package/dest/config/sequencer-config.js +12 -0
  51. package/dest/contract/contract_address.js +4 -4
  52. package/dest/contract/contract_class.d.ts +2 -3
  53. package/dest/contract/contract_class.d.ts.map +1 -1
  54. package/dest/contract/contract_class_id.js +3 -3
  55. package/dest/contract/private_function.js +2 -2
  56. package/dest/epoch-helpers/index.d.ts +5 -1
  57. package/dest/epoch-helpers/index.d.ts.map +1 -1
  58. package/dest/epoch-helpers/index.js +4 -2
  59. package/dest/file-store/local.d.ts +3 -3
  60. package/dest/file-store/local.d.ts.map +1 -1
  61. package/dest/file-store/local.js +13 -4
  62. package/dest/file-store/s3.d.ts +1 -1
  63. package/dest/file-store/s3.d.ts.map +1 -1
  64. package/dest/file-store/s3.js +11 -3
  65. package/dest/gas/gas_fees.d.ts +1 -1
  66. package/dest/gas/gas_fees.d.ts.map +1 -1
  67. package/dest/gas/gas_fees.js +4 -1
  68. package/dest/ha-signing/config.d.ts +136 -0
  69. package/dest/ha-signing/config.d.ts.map +1 -0
  70. package/dest/ha-signing/config.js +97 -0
  71. package/dest/ha-signing/index.d.ts +4 -0
  72. package/dest/ha-signing/index.d.ts.map +1 -0
  73. package/dest/ha-signing/index.js +3 -0
  74. package/dest/ha-signing/local_config.d.ts +63 -0
  75. package/dest/ha-signing/local_config.d.ts.map +1 -0
  76. package/dest/ha-signing/local_config.js +24 -0
  77. package/dest/ha-signing/types.d.ts +85 -0
  78. package/dest/ha-signing/types.d.ts.map +1 -0
  79. package/dest/ha-signing/types.js +32 -0
  80. package/dest/hash/hash.js +11 -11
  81. package/dest/hash/map_slot.js +2 -2
  82. package/dest/interfaces/allowed_element.d.ts +26 -20
  83. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  84. package/dest/interfaces/allowed_element.js +8 -8
  85. package/dest/interfaces/archiver.d.ts +1 -1
  86. package/dest/interfaces/archiver.d.ts.map +1 -1
  87. package/dest/interfaces/archiver.js +8 -2
  88. package/dest/interfaces/aztec-node-admin.d.ts +102 -31
  89. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  90. package/dest/interfaces/aztec-node-admin.js +9 -3
  91. package/dest/interfaces/aztec-node.d.ts +12 -7
  92. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  93. package/dest/interfaces/aztec-node.js +5 -2
  94. package/dest/interfaces/block-builder.d.ts +8 -5
  95. package/dest/interfaces/block-builder.d.ts.map +1 -1
  96. package/dest/interfaces/block-builder.js +7 -2
  97. package/dest/interfaces/configs.d.ts +72 -32
  98. package/dest/interfaces/configs.d.ts.map +1 -1
  99. package/dest/interfaces/configs.js +9 -3
  100. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  101. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  102. package/dest/interfaces/p2p.d.ts +3 -8
  103. package/dest/interfaces/p2p.d.ts.map +1 -1
  104. package/dest/interfaces/prover-client.d.ts +6 -1
  105. package/dest/interfaces/prover-client.d.ts.map +1 -1
  106. package/dest/interfaces/prover-client.js +7 -1
  107. package/dest/interfaces/validator.d.ts +103 -41
  108. package/dest/interfaces/validator.d.ts.map +1 -1
  109. package/dest/interfaces/validator.js +8 -4
  110. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  111. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  112. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  113. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  114. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  115. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  116. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  117. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  118. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  119. package/dest/kernel/hints/index.d.ts +2 -2
  120. package/dest/kernel/hints/index.js +2 -2
  121. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  122. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  123. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  124. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  125. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  126. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  127. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  128. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  129. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  130. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  131. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  132. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  133. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  134. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  135. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  136. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  137. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  138. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  139. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  140. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  141. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  142. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  143. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  144. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  145. package/dest/kernel/private_validation_requests.d.ts +3 -3
  146. package/dest/kernel/private_validation_requests.js +9 -9
  147. package/dest/keys/derivation.js +8 -8
  148. package/dest/keys/key_types.d.ts +3 -3
  149. package/dest/keys/key_types.d.ts.map +1 -1
  150. package/dest/keys/public_keys.js +2 -2
  151. package/dest/keys/utils.js +5 -5
  152. package/dest/kv-store/config.d.ts +17 -0
  153. package/dest/kv-store/config.d.ts.map +1 -0
  154. package/dest/kv-store/config.js +26 -0
  155. package/dest/kv-store/index.d.ts +2 -0
  156. package/dest/kv-store/index.d.ts.map +1 -0
  157. package/dest/kv-store/index.js +1 -0
  158. package/dest/logs/debug_log_store.d.ts +30 -0
  159. package/dest/logs/debug_log_store.d.ts.map +1 -0
  160. package/dest/logs/debug_log_store.js +30 -0
  161. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  162. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  163. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
  164. package/dest/logs/index.d.ts +4 -2
  165. package/dest/logs/index.d.ts.map +1 -1
  166. package/dest/logs/index.js +3 -1
  167. package/dest/logs/pre_tag.d.ts +16 -11
  168. package/dest/logs/pre_tag.d.ts.map +1 -1
  169. package/dest/logs/pre_tag.js +2 -2
  170. package/dest/logs/private_log.d.ts +2 -2
  171. package/dest/logs/private_log.d.ts.map +1 -1
  172. package/dest/logs/public_log.d.ts +4 -3
  173. package/dest/logs/public_log.d.ts.map +1 -1
  174. package/dest/logs/public_log.js +2 -1
  175. package/dest/logs/siloed_tag.d.ts +5 -3
  176. package/dest/logs/siloed_tag.d.ts.map +1 -1
  177. package/dest/logs/siloed_tag.js +6 -1
  178. package/dest/logs/tag.js +1 -1
  179. package/dest/logs/tagging_index_range.d.ts +40 -0
  180. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  181. package/dest/logs/tagging_index_range.js +8 -0
  182. package/dest/messaging/l2_to_l1_membership.d.ts +32 -6
  183. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  184. package/dest/messaging/l2_to_l1_membership.js +69 -26
  185. package/dest/p2p/attestation_utils.d.ts +11 -1
  186. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  187. package/dest/p2p/attestation_utils.js +45 -0
  188. package/dest/p2p/block_proposal.d.ts +2 -2
  189. package/dest/p2p/block_proposal.d.ts.map +1 -1
  190. package/dest/p2p/block_proposal.js +2 -4
  191. package/dest/p2p/checkpoint_proposal.d.ts +2 -7
  192. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  193. package/dest/p2p/checkpoint_proposal.js +1 -13
  194. package/dest/p2p/client_type.d.ts +2 -5
  195. package/dest/p2p/client_type.d.ts.map +1 -1
  196. package/dest/p2p/client_type.js +0 -7
  197. package/dest/p2p/index.d.ts +1 -2
  198. package/dest/p2p/index.d.ts.map +1 -1
  199. package/dest/p2p/index.js +0 -1
  200. package/dest/p2p/peer_error.d.ts +3 -1
  201. package/dest/p2p/peer_error.d.ts.map +1 -1
  202. package/dest/p2p/peer_error.js +5 -0
  203. package/dest/p2p/topic_type.d.ts +3 -4
  204. package/dest/p2p/topic_type.d.ts.map +1 -1
  205. package/dest/p2p/topic_type.js +7 -24
  206. package/dest/rollup/checkpoint_header.d.ts +2 -2
  207. package/dest/rollup/checkpoint_header.js +2 -2
  208. package/dest/slashing/tally.d.ts +7 -2
  209. package/dest/slashing/tally.d.ts.map +1 -1
  210. package/dest/slashing/tally.js +30 -2
  211. package/dest/tests/factories.d.ts +3 -1
  212. package/dest/tests/factories.d.ts.map +1 -1
  213. package/dest/tests/factories.js +19 -11
  214. package/dest/tests/mocks.d.ts +5 -3
  215. package/dest/tests/mocks.d.ts.map +1 -1
  216. package/dest/tests/mocks.js +20 -15
  217. package/dest/tx/block_header.d.ts +3 -1
  218. package/dest/tx/block_header.d.ts.map +1 -1
  219. package/dest/tx/block_header.js +6 -2
  220. package/dest/tx/global_variables.d.ts +4 -4
  221. package/dest/tx/global_variables.d.ts.map +1 -1
  222. package/dest/tx/private_execution_result.d.ts +6 -6
  223. package/dest/tx/private_execution_result.d.ts.map +1 -1
  224. package/dest/tx/private_execution_result.js +6 -6
  225. package/dest/tx/profiling.d.ts +4 -4
  226. package/dest/tx/profiling.d.ts.map +1 -1
  227. package/dest/tx/profiling.js +3 -3
  228. package/dest/tx/protocol_contracts.d.ts +1 -1
  229. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  230. package/dest/tx/protocol_contracts.js +2 -2
  231. package/dest/tx/public_simulation_output.d.ts +4 -2
  232. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  233. package/dest/tx/public_simulation_output.js +7 -3
  234. package/dest/tx/simulated_tx.d.ts +5 -2
  235. package/dest/tx/simulated_tx.d.ts.map +1 -1
  236. package/dest/tx/simulated_tx.js +4 -1
  237. package/dest/tx/tx.d.ts +6 -5
  238. package/dest/tx/tx.d.ts.map +1 -1
  239. package/dest/tx/tx.js +18 -6
  240. package/dest/tx/tx_receipt.d.ts +22 -3
  241. package/dest/tx/tx_receipt.d.ts.map +1 -1
  242. package/dest/tx/tx_receipt.js +15 -4
  243. package/dest/tx/tx_request.js +2 -2
  244. package/dest/tx/validator/error_texts.d.ts +6 -2
  245. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  246. package/dest/tx/validator/error_texts.js +5 -1
  247. package/dest/update-checker/index.d.ts +3 -2
  248. package/dest/update-checker/index.d.ts.map +1 -1
  249. package/dest/update-checker/index.js +2 -1
  250. package/dest/update-checker/package_version.d.ts +3 -0
  251. package/dest/update-checker/package_version.d.ts.map +1 -0
  252. package/dest/update-checker/package_version.js +11 -0
  253. package/dest/update-checker/version_checker.d.ts +25 -0
  254. package/dest/update-checker/version_checker.d.ts.map +1 -0
  255. package/dest/update-checker/version_checker.js +50 -0
  256. package/dest/validators/errors.d.ts +6 -1
  257. package/dest/validators/errors.d.ts.map +1 -1
  258. package/dest/validators/errors.js +7 -0
  259. package/package.json +12 -11
  260. package/src/abi/decoder.ts +15 -6
  261. package/src/abi/encoder.ts +49 -6
  262. package/src/abi/event_metadata_definition.ts +2 -0
  263. package/src/abi/utils.ts +25 -0
  264. package/src/auth_witness/auth_witness.ts +3 -3
  265. package/src/avm/revert_code.ts +15 -0
  266. package/src/block/block_data.ts +26 -0
  267. package/src/block/index.ts +1 -0
  268. package/src/block/l2_block.ts +13 -1
  269. package/src/block/l2_block_source.ts +36 -7
  270. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  271. package/src/checkpoint/checkpoint.ts +17 -6
  272. package/src/checkpoint/checkpoint_data.ts +51 -0
  273. package/src/checkpoint/index.ts +2 -0
  274. package/src/checkpoint/published_checkpoint.ts +3 -1
  275. package/src/checkpoint/validate.ts +230 -0
  276. package/src/config/sequencer-config.ts +19 -1
  277. package/src/contract/contract_address.ts +4 -4
  278. package/src/contract/contract_class.ts +3 -3
  279. package/src/contract/contract_class_id.ts +3 -3
  280. package/src/contract/private_function.ts +2 -2
  281. package/src/epoch-helpers/index.ts +3 -0
  282. package/src/file-store/local.ts +15 -5
  283. package/src/file-store/s3.ts +12 -3
  284. package/src/gas/gas_fees.ts +7 -1
  285. package/src/ha-signing/config.ts +156 -0
  286. package/src/ha-signing/index.ts +27 -0
  287. package/src/ha-signing/local_config.ts +46 -0
  288. package/src/ha-signing/types.ts +112 -0
  289. package/src/hash/hash.ts +11 -11
  290. package/src/hash/map_slot.ts +2 -2
  291. package/src/interfaces/allowed_element.ts +29 -9
  292. package/src/interfaces/archiver.ts +8 -2
  293. package/src/interfaces/aztec-node-admin.ts +23 -0
  294. package/src/interfaces/aztec-node.ts +24 -6
  295. package/src/interfaces/block-builder.ts +23 -6
  296. package/src/interfaces/configs.ts +33 -8
  297. package/src/interfaces/merkle_tree_operations.ts +1 -1
  298. package/src/interfaces/p2p.ts +2 -13
  299. package/src/interfaces/prover-client.ts +8 -0
  300. package/src/interfaces/validator.ts +50 -28
  301. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  302. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  303. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  304. package/src/kernel/hints/index.ts +2 -2
  305. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  306. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  307. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  308. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  309. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  310. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  311. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  312. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  313. package/src/kernel/private_validation_requests.ts +8 -8
  314. package/src/keys/derivation.ts +8 -8
  315. package/src/keys/key_types.ts +6 -2
  316. package/src/keys/public_keys.ts +2 -2
  317. package/src/keys/utils.ts +5 -5
  318. package/src/kv-store/config.ts +36 -0
  319. package/src/kv-store/index.ts +1 -0
  320. package/src/logs/debug_log_store.ts +54 -0
  321. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
  322. package/src/logs/index.ts +3 -1
  323. package/src/logs/pre_tag.ts +5 -5
  324. package/src/logs/public_log.ts +4 -2
  325. package/src/logs/siloed_tag.ts +8 -2
  326. package/src/logs/tag.ts +1 -1
  327. package/src/logs/tagging_index_range.ts +24 -0
  328. package/src/messaging/l2_to_l1_membership.ts +98 -33
  329. package/src/p2p/attestation_utils.ts +56 -0
  330. package/src/p2p/block_proposal.ts +1 -3
  331. package/src/p2p/checkpoint_proposal.ts +1 -18
  332. package/src/p2p/client_type.ts +0 -6
  333. package/src/p2p/index.ts +0 -1
  334. package/src/p2p/peer_error.ts +7 -0
  335. package/src/p2p/topic_type.ts +8 -15
  336. package/src/rollup/checkpoint_header.ts +2 -2
  337. package/src/slashing/tally.ts +34 -1
  338. package/src/tests/factories.ts +21 -12
  339. package/src/tests/mocks.ts +28 -13
  340. package/src/tx/block_header.ts +8 -2
  341. package/src/tx/global_variables.ts +3 -3
  342. package/src/tx/private_execution_result.ts +5 -5
  343. package/src/tx/profiling.ts +5 -5
  344. package/src/tx/protocol_contracts.ts +2 -2
  345. package/src/tx/public_simulation_output.ts +4 -0
  346. package/src/tx/simulated_tx.ts +8 -1
  347. package/src/tx/tx.ts +20 -11
  348. package/src/tx/tx_receipt.ts +17 -2
  349. package/src/tx/tx_request.ts +2 -2
  350. package/src/tx/validator/error_texts.ts +5 -1
  351. package/src/update-checker/index.ts +2 -1
  352. package/src/update-checker/package_version.ts +17 -0
  353. package/src/update-checker/version_checker.ts +65 -0
  354. package/src/validators/errors.ts +9 -0
  355. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  356. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  357. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  358. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  359. package/dest/update-checker/update-checker.d.ts +0 -49
  360. package/dest/update-checker/update-checker.d.ts.map +0 -1
  361. package/dest/update-checker/update-checker.js +0 -130
  362. package/src/update-checker/update-checker.ts +0 -166
@@ -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,166 +0,0 @@
1
- import { RegistryContract } from '@aztec/ethereum/contracts';
2
- import type { ViemClient } from '@aztec/ethereum/types';
3
- import { EthAddress } from '@aztec/foundation/eth-address';
4
- import { createLogger } from '@aztec/foundation/log';
5
- import { RunningPromise } from '@aztec/foundation/running-promise';
6
- import { fileURLToPath } from '@aztec/foundation/url';
7
-
8
- import { EventEmitter } from 'events';
9
- import { readFileSync } from 'fs';
10
- import { dirname, resolve } from 'path';
11
- import { isDeepStrictEqual } from 'util';
12
- import { z } from 'zod';
13
-
14
- const updateConfigSchema = z.object({
15
- version: z.string().optional(),
16
- publicTelemetry: z.any().optional(),
17
- config: z.any().optional(),
18
- });
19
-
20
- export type EventMap = {
21
- newRollupVersion: [{ currentVersion: bigint; latestVersion: bigint }];
22
- newNodeVersion: [{ currentVersion: string; latestVersion: string }];
23
- updateNodeConfig: [object];
24
- updatePublicTelemetryConfig: [object];
25
- };
26
-
27
- type Config = {
28
- baseURL: URL;
29
- nodeVersion?: string;
30
- checkIntervalMs?: number;
31
- registryContractAddress: EthAddress;
32
- publicClient: ViemClient;
33
- fetch?: typeof fetch;
34
- };
35
-
36
- export class UpdateChecker extends EventEmitter<EventMap> {
37
- private runningPromise: RunningPromise;
38
- private lastPatchedConfig: object = {};
39
- private lastPatchedPublicTelemetryConfig: object = {};
40
-
41
- constructor(
42
- private updatesUrl: URL,
43
- private nodeVersion: string | undefined,
44
- private rollupVersion: bigint,
45
- private fetch: typeof globalThis.fetch,
46
- private getLatestRollupVersion: () => Promise<bigint>,
47
- private checkIntervalMs = 10 * 60_000, // every 10 mins
48
- private log = createLogger('foundation:update-check'),
49
- ) {
50
- super();
51
- this.runningPromise = new RunningPromise(this.runChecks, this.log, this.checkIntervalMs);
52
- }
53
-
54
- public static async new(config: Config): Promise<UpdateChecker> {
55
- const registryContract = new RegistryContract(config.publicClient, config.registryContractAddress);
56
- const getLatestRollupVersion = () => registryContract.getRollupVersions().then(versions => versions.at(-1)!);
57
-
58
- return new UpdateChecker(
59
- config.baseURL,
60
- config.nodeVersion ?? getPackageVersion(),
61
- await getLatestRollupVersion(),
62
- config.fetch ?? fetch,
63
- getLatestRollupVersion,
64
- config.checkIntervalMs,
65
- );
66
- }
67
-
68
- public start(): void {
69
- if (this.runningPromise.isRunning()) {
70
- this.log.debug(`Can't start update checker again`);
71
- return;
72
- }
73
-
74
- this.log.info('Starting update checker', {
75
- nodeVersion: this.nodeVersion,
76
- rollupVersion: this.rollupVersion,
77
- });
78
- this.runningPromise.start();
79
- }
80
-
81
- public stop(): Promise<void> {
82
- if (!this.runningPromise.isRunning()) {
83
- this.log.debug(`Can't stop update checker because it is not running`);
84
- return Promise.resolve();
85
- }
86
- return this.runningPromise.stop();
87
- }
88
-
89
- public trigger(): Promise<void> {
90
- return this.runningPromise.trigger();
91
- }
92
-
93
- private runChecks = async (): Promise<void> => {
94
- await Promise.all([this.checkRollupVersion(), this.checkConfig()]);
95
- };
96
-
97
- private async checkRollupVersion(): Promise<void> {
98
- try {
99
- const canonicalRollupVersion = await this.getLatestRollupVersion();
100
- if (canonicalRollupVersion !== this.rollupVersion) {
101
- this.log.debug('New canonical rollup version', {
102
- currentVersion: this.rollupVersion,
103
- latestVersion: canonicalRollupVersion,
104
- });
105
- this.emit('newRollupVersion', { currentVersion: this.rollupVersion, latestVersion: canonicalRollupVersion });
106
- }
107
- } catch (err) {
108
- this.log.warn(`Failed to check if there is a new rollup`, err);
109
- }
110
- }
111
-
112
- private async checkConfig(): Promise<void> {
113
- try {
114
- const response = await this.fetch(this.updatesUrl);
115
- const body = await response.json();
116
- if (!response.ok) {
117
- this.log.warn(`Unexpected HTTP response checking for updates`, {
118
- status: response.status,
119
- body: await response.text(),
120
- url: this.updatesUrl,
121
- });
122
- }
123
-
124
- const { version, config, publicTelemetry } = updateConfigSchema.parse(body);
125
-
126
- if (this.nodeVersion && version && version !== this.nodeVersion) {
127
- this.log.debug('New node version', { currentVersion: this.nodeVersion, latestVersion: version });
128
- this.emit('newNodeVersion', { currentVersion: this.nodeVersion, latestVersion: version });
129
- }
130
-
131
- if (config && Object.keys(config).length > 0 && !isDeepStrictEqual(config, this.lastPatchedConfig)) {
132
- this.log.debug('New node config', { config });
133
- this.lastPatchedConfig = config;
134
- this.emit('updateNodeConfig', config);
135
- }
136
-
137
- if (
138
- publicTelemetry &&
139
- Object.keys(publicTelemetry).length > 0 &&
140
- !isDeepStrictEqual(publicTelemetry, this.lastPatchedPublicTelemetryConfig)
141
- ) {
142
- this.log.debug('New metrics config', { config });
143
- this.lastPatchedPublicTelemetryConfig = publicTelemetry;
144
- this.emit('updatePublicTelemetryConfig', publicTelemetry);
145
- }
146
- } catch (err) {
147
- this.log.warn(`Failed to check if there is an update`, err);
148
- }
149
- }
150
- }
151
-
152
- /**
153
- * Returns package version.
154
- */
155
- export function getPackageVersion(): string | undefined {
156
- try {
157
- const releasePleaseManifestPath = resolve(
158
- dirname(fileURLToPath(import.meta.url)),
159
- '../../../../.release-please-manifest.json',
160
- );
161
- const version = JSON.parse(readFileSync(releasePleaseManifestPath).toString())['.'];
162
- return version;
163
- } catch {
164
- return undefined;
165
- }
166
- }