@lidofinance/lsv-cli 1.2.0 → 1.3.0

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 (265) hide show
  1. package/README.md +58 -0
  2. package/dist/abi/Dashboard.d.ts +268 -0
  3. package/dist/abi/Dashboard.js +2 -0
  4. package/dist/abi/Dashboard.js.map +1 -1
  5. package/dist/abi/PredepositGuarantee.d.ts +357 -88
  6. package/dist/abi/PredepositGuarantee.js +31 -28
  7. package/dist/abi/PredepositGuarantee.js.map +1 -1
  8. package/dist/abi/VaultViewer.d.ts +8 -0
  9. package/dist/abi/VaultViewer.js +10 -0
  10. package/dist/abi/VaultViewer.js.map +1 -1
  11. package/dist/command/index.js +1 -0
  12. package/dist/command/index.js.map +1 -1
  13. package/dist/configs/deployed.js +27 -8
  14. package/dist/configs/deployed.js.map +1 -1
  15. package/dist/configs/index.d.ts +4 -3
  16. package/dist/configs/index.js +4 -3
  17. package/dist/configs/index.js.map +1 -1
  18. package/dist/contracts/vault-viewer.js +2 -2
  19. package/dist/features/defi-wrapper/defi-wrapper-factory.d.ts +1 -2
  20. package/dist/features/defi-wrapper/defi-wrapper-factory.js +12 -9
  21. package/dist/features/defi-wrapper/defi-wrapper-factory.js.map +1 -1
  22. package/dist/features/deposits/index.d.ts +1 -0
  23. package/dist/features/deposits/index.js +1 -0
  24. package/dist/features/deposits/index.js.map +1 -1
  25. package/dist/features/deposits/validators.d.ts +12 -0
  26. package/dist/features/deposits/validators.js +31 -0
  27. package/dist/features/deposits/validators.js.map +1 -0
  28. package/dist/features/index.d.ts +1 -0
  29. package/dist/features/index.js +1 -0
  30. package/dist/features/index.js.map +1 -1
  31. package/dist/features/lazy-oracle.js +2 -2
  32. package/dist/features/lazy-oracle.js.map +1 -1
  33. package/dist/features/mint-burn/allowance.d.ts +7 -1
  34. package/dist/features/mint-burn/allowance.js +8 -9
  35. package/dist/features/mint-burn/allowance.js.map +1 -1
  36. package/dist/features/mint-burn/burn-shares.d.ts +2 -1
  37. package/dist/features/mint-burn/burn-shares.js +4 -3
  38. package/dist/features/mint-burn/burn-shares.js.map +1 -1
  39. package/dist/features/mint-burn/burn-steth.d.ts +2 -1
  40. package/dist/features/mint-burn/burn-steth.js +4 -3
  41. package/dist/features/mint-burn/burn-steth.js.map +1 -1
  42. package/dist/features/mint-burn/mint-shares.js +4 -6
  43. package/dist/features/mint-burn/mint-shares.js.map +1 -1
  44. package/dist/features/mint-burn/mint-steth.js +4 -6
  45. package/dist/features/mint-burn/mint-steth.js.map +1 -1
  46. package/dist/features/utils/connection.d.ts +2 -0
  47. package/dist/features/utils/connection.js +14 -0
  48. package/dist/features/utils/connection.js.map +1 -0
  49. package/dist/features/utils/index.d.ts +1 -0
  50. package/dist/features/utils/index.js +1 -0
  51. package/dist/features/utils/index.js.map +1 -1
  52. package/dist/features/utils/liability-shares.js +2 -1
  53. package/dist/features/utils/liability-shares.js.map +1 -1
  54. package/dist/features/utils/report-fresh.d.ts +11 -1
  55. package/dist/features/utils/report-fresh.js +17 -14
  56. package/dist/features/utils/report-fresh.js.map +1 -1
  57. package/dist/features/vault-factory.d.ts +13 -14
  58. package/dist/features/vault-factory.js +30 -8
  59. package/dist/features/vault-factory.js.map +1 -1
  60. package/dist/features/vault-operations/connect-vault.d.ts +4 -0
  61. package/dist/features/vault-operations/connect-vault.js +21 -0
  62. package/dist/features/vault-operations/connect-vault.js.map +1 -0
  63. package/dist/features/vault-operations/create-vault.js +6 -4
  64. package/dist/features/vault-operations/create-vault.js.map +1 -1
  65. package/dist/features/vault-operations/dashboard-by-vault.js +17 -4
  66. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
  67. package/dist/features/vault-operations/index.d.ts +2 -0
  68. package/dist/features/vault-operations/index.js +2 -0
  69. package/dist/features/vault-operations/index.js.map +1 -1
  70. package/dist/features/vault-operations/roles.d.ts +5 -0
  71. package/dist/features/vault-operations/roles.js +65 -0
  72. package/dist/features/vault-operations/roles.js.map +1 -0
  73. package/dist/features/vault-operations/vault-info.js +9 -3
  74. package/dist/features/vault-operations/vault-info.js.map +1 -1
  75. package/dist/features/vault-operations/vault-overview.js +5 -7
  76. package/dist/features/vault-operations/vault-overview.js.map +1 -1
  77. package/dist/features/vault-operations/vault-roles.js +1 -1
  78. package/dist/features/vault-operations/vault-roles.js.map +1 -1
  79. package/dist/features/with-report.d.ts +6 -0
  80. package/dist/features/with-report.js +18 -0
  81. package/dist/features/with-report.js.map +1 -0
  82. package/dist/index.js +32 -10
  83. package/dist/index.js.map +1 -1
  84. package/dist/programs/contracts/dashboard/write.js +39 -20
  85. package/dist/programs/contracts/dashboard/write.js.map +1 -1
  86. package/dist/programs/contracts/hub/write.js +5 -1
  87. package/dist/programs/contracts/hub/write.js.map +1 -1
  88. package/dist/programs/contracts/operator-grid/write.js +1 -1
  89. package/dist/programs/contracts/operator-grid/write.js.map +1 -1
  90. package/dist/programs/contracts/vault-factory/write.js +37 -23
  91. package/dist/programs/contracts/vault-factory/write.js.map +1 -1
  92. package/dist/programs/defi-wrapper/contracts/factory/write.js +12 -14
  93. package/dist/programs/defi-wrapper/contracts/factory/write.js.map +1 -1
  94. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js +53 -16
  95. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js.map +1 -1
  96. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js +2 -2
  97. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js.map +1 -1
  98. package/dist/programs/pdg-helpers.js +13 -9
  99. package/dist/programs/pdg-helpers.js.map +1 -1
  100. package/dist/programs/use-cases/consolidation/write.js +2 -2
  101. package/dist/programs/use-cases/consolidation/write.js.map +1 -1
  102. package/dist/programs/use-cases/vault-operations/create-vault.js +63 -27
  103. package/dist/programs/use-cases/vault-operations/create-vault.js.map +1 -1
  104. package/dist/programs/use-cases/vault-operations/write.js +124 -26
  105. package/dist/programs/use-cases/vault-operations/write.js.map +1 -1
  106. package/dist/tests/integration/deposits.test.d.ts +1 -0
  107. package/dist/tests/integration/deposits.test.js +67 -0
  108. package/dist/tests/integration/deposits.test.js.map +1 -0
  109. package/dist/tests/integration/globalSetup.d.ts +1 -0
  110. package/dist/tests/integration/globalSetup.js +55 -0
  111. package/dist/tests/integration/globalSetup.js.map +1 -0
  112. package/dist/tests/integration/helpers/index.d.ts +3 -0
  113. package/dist/tests/integration/helpers/index.js +4 -0
  114. package/dist/tests/integration/helpers/index.js.map +1 -0
  115. package/dist/tests/integration/helpers/test-assertions.d.ts +32 -0
  116. package/dist/tests/integration/helpers/test-assertions.js +92 -0
  117. package/dist/tests/integration/helpers/test-assertions.js.map +1 -0
  118. package/dist/tests/integration/helpers/test-client.d.ts +14530 -0
  119. package/dist/tests/integration/helpers/test-client.js +73 -0
  120. package/dist/tests/integration/helpers/test-client.js.map +1 -0
  121. package/dist/tests/integration/helpers/test-config.d.ts +14 -0
  122. package/dist/tests/integration/helpers/test-config.js +62 -0
  123. package/dist/tests/integration/helpers/test-config.js.map +1 -0
  124. package/dist/tests/integration/helpers/test-setup.d.ts +12 -0
  125. package/dist/tests/integration/helpers/test-setup.js +40 -0
  126. package/dist/tests/integration/helpers/test-setup.js.map +1 -0
  127. package/dist/tests/integration/lazy-oracle.test.d.ts +1 -0
  128. package/dist/tests/integration/lazy-oracle.test.js +31 -0
  129. package/dist/tests/integration/lazy-oracle.test.js.map +1 -0
  130. package/dist/tests/integration/metrics.test.d.ts +1 -0
  131. package/dist/tests/integration/metrics.test.js +95 -0
  132. package/dist/tests/integration/metrics.test.js.map +1 -0
  133. package/dist/tests/integration/mint-burn.test.d.ts +1 -0
  134. package/dist/tests/integration/mint-burn.test.js +149 -0
  135. package/dist/tests/integration/mint-burn.test.js.map +1 -0
  136. package/dist/tests/integration/operator-grid.test.d.ts +1 -0
  137. package/dist/tests/integration/operator-grid.test.js +41 -0
  138. package/dist/tests/integration/operator-grid.test.js.map +1 -0
  139. package/dist/tests/integration/pdg.test.d.ts +1 -0
  140. package/dist/tests/integration/pdg.test.js +47 -0
  141. package/dist/tests/integration/pdg.test.js.map +1 -0
  142. package/dist/tests/integration/utils.test.d.ts +1 -0
  143. package/dist/tests/integration/utils.test.js +70 -0
  144. package/dist/tests/integration/utils.test.js.map +1 -0
  145. package/dist/tests/integration/vault-factory.test.d.ts +1 -0
  146. package/dist/tests/integration/vault-factory.test.js +29 -0
  147. package/dist/tests/integration/vault-factory.test.js.map +1 -0
  148. package/dist/tests/integration/vault-hub.test.d.ts +1 -0
  149. package/dist/tests/integration/vault-hub.test.js +71 -0
  150. package/dist/tests/integration/vault-hub.test.js.map +1 -0
  151. package/dist/tests/integration/vault-operations.test.d.ts +1 -0
  152. package/dist/tests/integration/vault-operations.test.js +151 -0
  153. package/dist/tests/integration/vault-operations.test.js.map +1 -0
  154. package/dist/tests/integration/vault-roles.test.d.ts +1 -0
  155. package/dist/tests/integration/vault-roles.test.js +44 -0
  156. package/dist/tests/integration/vault-roles.test.js.map +1 -0
  157. package/dist/tests/integration/vault.test.d.ts +1 -0
  158. package/dist/tests/integration/vault.test.js +44 -0
  159. package/dist/tests/integration/vault.test.js.map +1 -0
  160. package/dist/tests/utils/arguments.test.js +85 -4
  161. package/dist/tests/utils/arguments.test.js.map +1 -1
  162. package/dist/tests/utils/bigInt.test.js +1 -1
  163. package/dist/tests/utils/bigInt.test.js.map +1 -1
  164. package/dist/tests/utils/calculate-health.test.d.ts +1 -0
  165. package/dist/tests/utils/calculate-health.test.js +140 -0
  166. package/dist/tests/utils/calculate-health.test.js.map +1 -0
  167. package/dist/tests/utils/calculate-overview-v2.test.d.ts +1 -0
  168. package/dist/tests/utils/calculate-overview-v2.test.js +181 -0
  169. package/dist/tests/utils/calculate-overview-v2.test.js.map +1 -0
  170. package/dist/tests/utils/calculate-overview.test.js +2 -1
  171. package/dist/tests/utils/calculate-overview.test.js.map +1 -1
  172. package/dist/tests/utils/csv-file.test.d.ts +1 -0
  173. package/dist/tests/utils/csv-file.test.js +111 -0
  174. package/dist/tests/utils/csv-file.test.js.map +1 -0
  175. package/dist/tests/utils/data-validators.test.js +1 -1
  176. package/dist/tests/utils/data-validators.test.js.map +1 -1
  177. package/dist/tests/utils/error-handler.test.js +7 -16
  178. package/dist/tests/utils/error-handler.test.js.map +1 -1
  179. package/dist/tests/utils/get-commands.test.js +1 -1
  180. package/dist/tests/utils/get-commands.test.js.map +1 -1
  181. package/dist/tests/utils/get-deposit-data-root.test.js +1 -2
  182. package/dist/tests/utils/get-deposit-data-root.test.js.map +1 -1
  183. package/dist/tests/utils/get-value.test.js +1 -1
  184. package/dist/tests/utils/get-value.test.js.map +1 -1
  185. package/dist/tests/utils/health.test.js +1 -1
  186. package/dist/tests/utils/health.test.js.map +1 -1
  187. package/dist/tests/utils/interrupt-handler.test.js +2 -5
  188. package/dist/tests/utils/interrupt-handler.test.js.map +1 -1
  189. package/dist/tests/utils/ipfs.test.js +37 -24
  190. package/dist/tests/utils/ipfs.test.js.map +1 -1
  191. package/dist/tests/utils/lido-apr.test.d.ts +1 -0
  192. package/dist/tests/utils/lido-apr.test.js +95 -0
  193. package/dist/tests/utils/lido-apr.test.js.map +1 -0
  194. package/dist/tests/utils/logging.test.js +135 -15
  195. package/dist/tests/utils/logging.test.js.map +1 -1
  196. package/dist/tests/utils/merkle-utils.test.d.ts +1 -0
  197. package/dist/tests/utils/merkle-utils.test.js +231 -0
  198. package/dist/tests/utils/merkle-utils.test.js.map +1 -0
  199. package/dist/tests/utils/rebase-rewards.test.d.ts +1 -0
  200. package/dist/tests/utils/rebase-rewards.test.js +114 -0
  201. package/dist/tests/utils/rebase-rewards.test.js.map +1 -0
  202. package/dist/tests/utils/resove-path.test.js +1 -1
  203. package/dist/tests/utils/resove-path.test.js.map +1 -1
  204. package/dist/tests/utils/sleep.test.js +5 -5
  205. package/dist/tests/utils/sleep.test.js.map +1 -1
  206. package/dist/tests/utils/snake-to-camel.test.d.ts +1 -0
  207. package/dist/tests/utils/snake-to-camel.test.js +37 -0
  208. package/dist/tests/utils/snake-to-camel.test.js.map +1 -0
  209. package/dist/tests/utils/timestamp.test.d.ts +1 -0
  210. package/dist/tests/utils/timestamp.test.js +51 -0
  211. package/dist/tests/utils/timestamp.test.js.map +1 -0
  212. package/dist/utils/arguments.d.ts +2 -1
  213. package/dist/utils/arguments.js +6 -0
  214. package/dist/utils/arguments.js.map +1 -1
  215. package/dist/utils/calculate-overview-v2.d.ts +1 -2
  216. package/dist/utils/calculate-overview-v2.js +3 -6
  217. package/dist/utils/calculate-overview-v2.js.map +1 -1
  218. package/dist/utils/calculate-overview.d.ts +1 -0
  219. package/dist/utils/calculate-overview.js +1 -0
  220. package/dist/utils/calculate-overview.js.map +1 -1
  221. package/dist/utils/commands/report.d.ts +6 -1
  222. package/dist/utils/commands/report.js +6 -5
  223. package/dist/utils/commands/report.js.map +1 -1
  224. package/dist/utils/consolidation/confirms.js +2 -2
  225. package/dist/utils/consolidation/confirms.js.map +1 -1
  226. package/dist/utils/consolidation/logs.js +4 -2
  227. package/dist/utils/consolidation/logs.js.map +1 -1
  228. package/dist/utils/consolidation/pubkeys.js +2 -0
  229. package/dist/utils/consolidation/pubkeys.js.map +1 -1
  230. package/dist/utils/consolidation/types.d.ts +1 -0
  231. package/dist/utils/consolidation/validator-info.js +2 -0
  232. package/dist/utils/consolidation/validator-info.js.map +1 -1
  233. package/dist/utils/error-handler.js +2 -9
  234. package/dist/utils/error-handler.js.map +1 -1
  235. package/dist/utils/interrupt-handler.js +8 -2
  236. package/dist/utils/interrupt-handler.js.map +1 -1
  237. package/dist/utils/logging/console.js +41 -3
  238. package/dist/utils/logging/console.js.map +1 -1
  239. package/dist/utils/prompts/mint-burn/confirm-mint.js +1 -0
  240. package/dist/utils/prompts/mint-burn/confirm-mint.js.map +1 -1
  241. package/dist/utils/prompts/operations.js +4 -1
  242. package/dist/utils/prompts/operations.js.map +1 -1
  243. package/dist/utils/proof/create-proof.d.ts +5 -0
  244. package/dist/utils/proof/create-proof.js +5 -0
  245. package/dist/utils/proof/create-proof.js.map +1 -1
  246. package/dist/utils/transactions/tx-private-key.d.ts +4 -0
  247. package/dist/utils/transactions/tx-private-key.js +52 -24
  248. package/dist/utils/transactions/tx-private-key.js.map +1 -1
  249. package/dist/utils/transactions/tx-wc.d.ts +1 -0
  250. package/dist/utils/transactions/tx-wc.js +10 -19
  251. package/dist/utils/transactions/tx-wc.js.map +1 -1
  252. package/dist/utils/transactions/types.d.ts +1 -0
  253. package/dist/utils/transactions/utils.d.ts +3 -0
  254. package/dist/utils/transactions/utils.js +33 -0
  255. package/dist/utils/transactions/utils.js.map +1 -0
  256. package/dist/utils/wallet-connect.js +3 -1
  257. package/dist/utils/wallet-connect.js.map +1 -1
  258. package/dist/version/index.js +1 -1
  259. package/dist/vitest.config.d.ts +2 -0
  260. package/dist/vitest.config.js +29 -0
  261. package/dist/vitest.config.js.map +1 -0
  262. package/dist/vitest.integration.config.d.ts +2 -0
  263. package/dist/vitest.integration.config.js +39 -0
  264. package/dist/vitest.integration.config.js.map +1 -0
  265. package/package.json +14 -9
@@ -1 +1 @@
1
- {"version":3,"file":"get-deposit-data-root.test.js","sourceRoot":"","sources":["../../../tests/utils/get-deposit-data-root.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE7D,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE,CAC3C,OAAO,CAAC,mCAAmC,CAAC,CAC7C,CAAC;AACF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EACL,OAAO,EACP,yBAAyB,EACzB,YAAY,GACb,MAAM,mCAAmC,CAAC;AAE3C,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAU,EAAE,GAAW,EAAE,MAAc,EAAE,EAAE;IACzE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,YAAY,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"get-deposit-data-root.test.js","sourceRoot":"","sources":["../../../tests/utils/get-deposit-data-root.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EACL,OAAO,EACP,yBAAyB,EACzB,YAAY,GACb,MAAM,mCAAmC,CAAC;AAE3C,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAU,EAAE,GAAW,EAAE,MAAc,EAAE,EAAE;IACzE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,YAAY,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { describe, expect, test } from '@jest/globals';
1
+ import { describe, expect, test } from 'vitest';
2
2
  import { getValueByPath } from '../../utils/get-value.js';
3
3
  describe('getValueByPath', () => {
4
4
  test('returns value for existing path', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"get-value.test.js","sourceRoot":"","sources":["../../../tests/utils/get-value.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"get-value.test.js","sourceRoot":"","sources":["../../../tests/utils/get-value.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from '@jest/globals';
1
+ import { describe, test, expect } from 'vitest';
2
2
  import { calculateHealth } from '../../utils/health/calculate-health.js';
3
3
  describe('calculateHealth', () => {
4
4
  test('healthy case', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"health.test.js","sourceRoot":"","sources":["../../../tests/utils/health.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAEzE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;QACxB,MAAM,GAAG,GAAG,eAAe,CAAC;YAC1B,UAAU,EAAE,GAAG;YACf,yBAAyB,EAAE,EAAE;YAC7B,0BAA0B,EAAE,IAAI;SACjC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,GAAG,GAAG,eAAe,CAAC;YAC1B,UAAU,EAAE,GAAG;YACf,yBAAyB,EAAE,EAAE;YAC7B,0BAA0B,EAAE,IAAI;SACjC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"health.test.js","sourceRoot":"","sources":["../../../tests/utils/health.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAEzE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;QACxB,MAAM,GAAG,GAAG,eAAe,CAAC;YAC1B,UAAU,EAAE,GAAG;YACf,yBAAyB,EAAE,EAAE;YAC7B,0BAA0B,EAAE,IAAI;SACjC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,GAAG,GAAG,eAAe,CAAC;YAC1B,UAAU,EAAE,GAAG;YACf,yBAAyB,EAAE,EAAE;YAC7B,0BAA0B,EAAE,IAAI;SACjC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,11 +1,8 @@
1
- import { describe, test, expect, jest } from '@jest/globals';
2
- jest.mock('../../utils/logging/constants.js', () => ({
3
- getColoredLog: (_t, m) => m,
4
- }));
1
+ import { describe, test, expect, vi } from 'vitest';
5
2
  import { withInterruptHandling } from '../../utils/interrupt-handler.js';
6
3
  describe('withInterruptHandling', () => {
7
4
  test('runs action and cleans up', async () => {
8
- const action = jest.fn(async () => 1);
5
+ const action = vi.fn(async () => 1);
9
6
  const wrapped = withInterruptHandling(action);
10
7
  const res = await wrapped();
11
8
  expect(res).toBe(1);
@@ -1 +1 @@
1
- {"version":3,"file":"interrupt-handler.test.js","sourceRoot":"","sources":["../../../tests/utils/interrupt-handler.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC7D,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,aAAa,EAAE,CAAC,EAAO,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC;CACtC,CAAC,CAAC,CAAC;AACJ,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"interrupt-handler.test.js","sourceRoot":"","sources":["../../../tests/utils/interrupt-handler.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { describe, test, expect, jest, beforeEach } from '@jest/globals';
2
- jest.mock('multiformats/cid', () => {
1
+ import { describe, test, expect, vi, beforeEach } from 'vitest';
2
+ vi.mock('multiformats/cid', () => {
3
3
  class MockCID {
4
4
  str;
5
5
  constructor(str) {
@@ -16,27 +16,27 @@ jest.mock('multiformats/cid', () => {
16
16
  }
17
17
  }
18
18
  return { CID: MockCID };
19
- }, { virtual: true });
20
- import { CID } from 'multiformats/cid';
21
- import * as ipfs from '../../utils/ipfs.js';
22
- jest.mock('blockstore-core', () => ({ MemoryBlockstore: jest.fn() }), {
23
- virtual: true,
24
19
  });
25
- jest.mock('ipfs-unixfs-importer', () => ({ importer: jest.fn() }), {
26
- virtual: true,
27
- });
28
- jest.mock('../../utils/logging/console.js', () => ({
29
- logInfo: jest.fn(),
30
- logTable: jest.fn(),
20
+ vi.mock('blockstore-core', () => ({ MemoryBlockstore: vi.fn() }));
21
+ vi.mock('ipfs-unixfs-importer', () => ({ importer: vi.fn() }));
22
+ vi.mock('../../utils/logging/console.js', () => ({
23
+ logInfo: vi.fn(),
24
+ logTable: vi.fn(),
31
25
  }));
32
- const logInfo = require('../../utils/logging/console.js').logInfo;
33
- const logTable = require('../../utils/logging/console.js')
34
- .logTable;
35
- const importer = require('ipfs-unixfs-importer').importer;
26
+ import { CID } from 'multiformats/cid';
27
+ import * as ipfs from '../../utils/ipfs.js';
36
28
  const fakeCid = CID.parse('bafkreigh2akiscaildcjk2d6gtrevhb7f7esg6k4t4u5p4sqkgfa6vlriu');
37
- beforeEach(() => {
38
- jest.clearAllMocks();
39
- global.fetch = jest.fn();
29
+ let logInfo;
30
+ let logTable;
31
+ let importer;
32
+ beforeEach(async () => {
33
+ vi.clearAllMocks();
34
+ global.fetch = vi.fn();
35
+ const loggingModule = await import('../../utils/logging/console.js');
36
+ logInfo = loggingModule.logInfo;
37
+ logTable = loggingModule.logTable;
38
+ const importerModule = await import('ipfs-unixfs-importer');
39
+ importer = importerModule.importer;
40
40
  });
41
41
  describe('ipfs helpers', () => {
42
42
  test('fetchIPFS parses JSON response', async () => {
@@ -90,8 +90,14 @@ describe('ipfs helpers', () => {
90
90
  const jsonData = '{"test":123}';
91
91
  const encoder = new TextEncoder();
92
92
  const fileContent = encoder.encode(jsonData);
93
- jest.spyOn(ipfs, 'fetchIPFSBuffer').mockResolvedValueOnce(fileContent);
94
- jest.spyOn(ipfs, 'calculateIPFSAddCID').mockResolvedValueOnce(fakeCid);
93
+ // Mock fetch to prevent actual network calls
94
+ global.fetch.mockResolvedValueOnce({
95
+ ok: true,
96
+ arrayBuffer: async () => fileContent.buffer,
97
+ });
98
+ importer.mockImplementationOnce(async function* () {
99
+ yield { cid: fakeCid };
100
+ });
95
101
  const res = await ipfs.fetchIPFSDirectAndVerify(fakeCid.toString());
96
102
  expect(res.fileContent).toEqual(fileContent);
97
103
  expect(res.json).toEqual({ test: 123 });
@@ -102,8 +108,15 @@ describe('ipfs helpers', () => {
102
108
  const jsonData = '{"test":456}';
103
109
  const encoder = new TextEncoder();
104
110
  const fileContent = encoder.encode(jsonData);
105
- jest.spyOn(ipfs, 'fetchIPFSBuffer').mockResolvedValueOnce(fileContent);
106
- jest.spyOn(ipfs, 'calculateIPFSAddCID').mockResolvedValueOnce(other);
111
+ // Mock fetch to return the file content
112
+ global.fetch.mockResolvedValueOnce({
113
+ ok: true,
114
+ arrayBuffer: async () => fileContent.buffer,
115
+ });
116
+ // Mock importer to return different CID
117
+ importer.mockImplementationOnce(async function* () {
118
+ yield { cid: other };
119
+ });
107
120
  await expect(ipfs.fetchIPFSDirectAndVerify(fakeCid.toString())).rejects.toThrow('CID mismatch');
108
121
  });
109
122
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs.test.js","sourceRoot":"","sources":["../../../tests/utils/ipfs.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipfs.test.js","sourceRoot":"","sources":["../../../tests/utils/ipfs.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,95 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { calculateLidoAPR, SECONDS_IN_YEAR } from '../../utils/lido-apr.js';
3
+ describe('calculateLidoAPR', () => {
4
+ it('should calculate APR for positive share rate increase', () => {
5
+ const preShareRate = 1;
6
+ const postShareRate = 1.05; // 5% increase
7
+ const timeElapsed = SECONDS_IN_YEAR;
8
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
9
+ // Expected: 5% annual increase = 5% APR
10
+ expect(apr).toBeCloseTo(5, 2);
11
+ });
12
+ it('should calculate APR for 10% annual increase', () => {
13
+ const preShareRate = 1;
14
+ const postShareRate = 1.1; // 10% increase
15
+ const timeElapsed = SECONDS_IN_YEAR;
16
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
17
+ expect(apr).toBeCloseTo(10, 2);
18
+ });
19
+ it('should annualize APR for half year period', () => {
20
+ const preShareRate = 1;
21
+ const postShareRate = 1.05; // 5% increase over 6 months
22
+ const timeElapsed = SECONDS_IN_YEAR / 2;
23
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
24
+ // Expected: 5% over 6 months = 10% annualized
25
+ expect(apr).toBeCloseTo(10, 2);
26
+ });
27
+ it('should annualize APR for one month period', () => {
28
+ const preShareRate = 1;
29
+ const postShareRate = 1.01; // 1% increase over 1 month
30
+ const timeElapsed = SECONDS_IN_YEAR / 12;
31
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
32
+ // Expected: 1% per month = 12% annualized
33
+ expect(apr).toBeCloseTo(12, 2);
34
+ });
35
+ it('should handle negative APR (share rate decrease)', () => {
36
+ const preShareRate = 1;
37
+ const postShareRate = 0.95; // 5% decrease
38
+ const timeElapsed = SECONDS_IN_YEAR;
39
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
40
+ // Expected: -5% annual decrease = -5% APR
41
+ expect(apr).toBeCloseTo(-5, 2);
42
+ });
43
+ it('should return 0 when share rate is unchanged', () => {
44
+ const preShareRate = 1;
45
+ const postShareRate = 1;
46
+ const timeElapsed = SECONDS_IN_YEAR;
47
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
48
+ expect(apr).toBe(0);
49
+ });
50
+ it('should return 0 when preShareRate is 0', () => {
51
+ const preShareRate = 0;
52
+ const postShareRate = 1.05;
53
+ const timeElapsed = SECONDS_IN_YEAR;
54
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
55
+ expect(apr).toBe(0);
56
+ });
57
+ it('should return 0 when timeElapsed is 0', () => {
58
+ const preShareRate = 1;
59
+ const postShareRate = 1.05;
60
+ const timeElapsed = 0;
61
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
62
+ expect(apr).toBe(0);
63
+ });
64
+ it('should handle very small share rate changes', () => {
65
+ const preShareRate = 1;
66
+ const postShareRate = 1.0001; // 0.01% increase
67
+ const timeElapsed = SECONDS_IN_YEAR;
68
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
69
+ expect(apr).toBeCloseTo(0.01, 2);
70
+ });
71
+ it('should handle large share rate values', () => {
72
+ const preShareRate = 1000000;
73
+ const postShareRate = 1050000; // 5% increase
74
+ const timeElapsed = SECONDS_IN_YEAR;
75
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
76
+ expect(apr).toBeCloseTo(5, 2);
77
+ });
78
+ it('should calculate APR for one day period', () => {
79
+ const preShareRate = 1;
80
+ const postShareRate = 1.0001; // 0.01% increase over 1 day
81
+ const timeElapsed = 24 * 60 * 60; // 1 day in seconds
82
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
83
+ // Expected: 0.01% per day * 365 days = 3.65% annualized
84
+ expect(apr).toBeCloseTo(3.65, 2);
85
+ });
86
+ it('should calculate APR for fractional share rates', () => {
87
+ const preShareRate = 1.123456;
88
+ const postShareRate = 1.234567;
89
+ const timeElapsed = SECONDS_IN_YEAR;
90
+ const apr = calculateLidoAPR(preShareRate, postShareRate, timeElapsed);
91
+ // Expected: ((1.234567 - 1.123456) / 1.123456) * 100 ≈ 9.89%
92
+ expect(apr).toBeCloseTo(9.89, 1);
93
+ });
94
+ });
95
+ //# sourceMappingURL=lido-apr.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lido-apr.test.js","sourceRoot":"","sources":["../../../tests/utils/lido-apr.test.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,143 @@
1
- import { describe, test, expect, jest, beforeEach } from '@jest/globals';
2
- jest.mock('../../utils/logging/constants.js', () => ({
3
- getColoredLog: (_t, m) => m,
4
- TABLE_PARAMS: {},
5
- }));
6
- import { createConsole } from '../../utils/logging/console.js';
1
+ import { describe, test, expect, vi, beforeEach, afterEach } from 'vitest';
2
+ import { createConsole, logResult, logTable, logInfo, logError, logBold, logCancel, logResultSimple, } from '../../utils/logging/console.js';
3
+ import { program } from '../../command/index.js';
7
4
  beforeEach(() => {
8
- jest.spyOn(console, 'info').mockImplementation(() => { });
9
- jest.spyOn(console, 'error').mockImplementation(() => { });
5
+ vi.spyOn(console, 'info').mockImplementation(() => { });
6
+ vi.spyOn(console, 'error').mockImplementation(() => { });
7
+ vi.spyOn(console, 'table').mockImplementation(() => { });
8
+ });
9
+ afterEach(() => {
10
+ vi.restoreAllMocks();
10
11
  });
11
12
  describe('createConsole', () => {
12
- test('logs info', () => {
13
- const log = createConsole('LOG');
14
- log('hello');
13
+ describe('basic logging types', () => {
14
+ test('logs info by default', () => {
15
+ const log = createConsole('LOG');
16
+ log('hello');
17
+ expect(console.info).toHaveBeenCalled();
18
+ });
19
+ test('logs error with error type', () => {
20
+ const err = createConsole('Error', 'error');
21
+ err('oops');
22
+ expect(console.error).toHaveBeenCalled();
23
+ });
24
+ test('logs with table type', () => {
25
+ const tableLog = createConsole('Result', 'table');
26
+ tableLog({ key: 'value' });
27
+ expect(console.info).toHaveBeenCalled();
28
+ expect(console.table).toHaveBeenCalled();
29
+ });
30
+ test('logs with bold type', () => {
31
+ const boldLog = createConsole('Bold', 'bold');
32
+ boldLog('important');
33
+ expect(console.info).toHaveBeenCalled();
34
+ });
35
+ });
36
+ describe('multiple arguments', () => {
37
+ test('handles multiple arguments for info', () => {
38
+ const log = createConsole('LOG');
39
+ log('hello', 'world', 123);
40
+ expect(console.info).toHaveBeenCalled();
41
+ });
42
+ test('handles multiple arguments for error', () => {
43
+ const err = createConsole('Error', 'error');
44
+ err('error1', 'error2');
45
+ expect(console.error).toHaveBeenCalled();
46
+ });
47
+ });
48
+ describe('JSON mode', () => {
49
+ beforeEach(() => {
50
+ vi.spyOn(program, 'opts').mockReturnValue({ json: true });
51
+ });
52
+ test('outputs JSON format for info type', () => {
53
+ const log = createConsole('LOG', 'info');
54
+ log('test data');
55
+ const calls = vi.mocked(console.info).mock.calls;
56
+ const jsonOutput = calls.find((call) => call[0] === '<JSON>');
57
+ expect(jsonOutput).toBeDefined();
58
+ });
59
+ test('outputs JSON format for table type', () => {
60
+ const tableLog = createConsole('Result', 'table');
61
+ tableLog({ key: 'value' });
62
+ const calls = vi.mocked(console.info).mock.calls;
63
+ const jsonOutput = calls.find((call) => call[0] === '<JSON>');
64
+ expect(jsonOutput).toBeDefined();
65
+ expect(console.table).not.toHaveBeenCalled();
66
+ });
67
+ test('outputs JSON format for bold type', () => {
68
+ const boldLog = createConsole('Bold', 'bold');
69
+ boldLog('important');
70
+ const calls = vi.mocked(console.info).mock.calls;
71
+ const jsonOutput = calls.find((call) => call[0] === '<JSON>');
72
+ expect(jsonOutput).toBeDefined();
73
+ });
74
+ test('serializes bigint values in JSON mode', () => {
75
+ const log = createConsole('LOG');
76
+ const bigIntValue = 1234567890123456789012345678901234567890n;
77
+ log({ value: bigIntValue });
78
+ const calls = vi.mocked(console.info).mock.calls;
79
+ // Check that bigint was converted to string in JSON output
80
+ const allCalls = calls.flat().join('');
81
+ expect(allCalls).toContain(bigIntValue.toString());
82
+ });
83
+ });
84
+ describe('exported helper functions', () => {
85
+ test('logInfo works correctly', () => {
86
+ logInfo('test');
87
+ expect(console.info).toHaveBeenCalled();
88
+ });
89
+ test('logError works correctly', () => {
90
+ logError('error message');
91
+ expect(console.error).toHaveBeenCalled();
92
+ });
93
+ test('logBold works correctly', () => {
94
+ logBold('bold text');
95
+ expect(console.info).toHaveBeenCalled();
96
+ });
97
+ test('logCancel works correctly', () => {
98
+ logCancel('cancelled');
99
+ expect(console.info).toHaveBeenCalled();
100
+ });
101
+ test('logResultSimple works correctly', () => {
102
+ logResultSimple('result');
103
+ expect(console.info).toHaveBeenCalled();
104
+ expect(console.table).toHaveBeenCalled();
105
+ });
106
+ });
107
+ });
108
+ describe('logResult and logTable', () => {
109
+ beforeEach(() => {
110
+ vi.spyOn(console, 'info').mockImplementation(() => { });
111
+ });
112
+ test('logResult displays table with data', () => {
113
+ const data = [
114
+ ['key1', 'value1'],
115
+ ['key2', 'value2'],
116
+ ];
117
+ logResult({ data, params: { head: ['Key', 'Value'] } });
15
118
  expect(console.info).toHaveBeenCalled();
16
119
  });
17
- test('logs error', () => {
18
- const err = createConsole('Error', 'error');
19
- err('oops');
20
- expect(console.error).toHaveBeenCalled();
120
+ test('logResult handles empty data', () => {
121
+ logResult({ data: undefined });
122
+ expect(console.info).toHaveBeenCalled();
123
+ });
124
+ test('logTable displays table without header message', () => {
125
+ const data = [['row1', 'data1']];
126
+ logTable({ data });
127
+ expect(console.info).toHaveBeenCalled();
128
+ });
129
+ test('logResult outputs JSON when json flag is set', () => {
130
+ vi.spyOn(program, 'opts').mockReturnValue({ json: true });
131
+ const data = [['key', 'value']];
132
+ logResult({ data });
133
+ const calls = vi.mocked(console.info).mock.calls;
134
+ const jsonOutput = calls.find((call) => call[0] === '<JSON>');
135
+ expect(jsonOutput).toBeDefined();
136
+ });
137
+ test('handles bigint in table data', () => {
138
+ const data = [['amount', 1000000000000000000n]];
139
+ logResult({ data });
140
+ expect(console.info).toHaveBeenCalled();
21
141
  });
22
142
  });
23
143
  //# sourceMappingURL=logging.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logging.test.js","sourceRoot":"","sources":["../../../tests/utils/logging.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACzE,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,aAAa,EAAE,CAAC,EAAO,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC;IACrC,YAAY,EAAE,EAAE;CACjB,CAAC,CAAC,CAAC;AACJ,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,UAAU,CAAC,GAAG,EAAE;IACd,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QACrB,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjC,GAAG,CAAC,OAAO,CAAC,CAAC;QACb,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;QACtB,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,GAAG,CAAC,MAAM,CAAC,CAAC;QACZ,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"logging.test.js","sourceRoot":"","sources":["../../../tests/utils/logging.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};