@lidofinance/lsv-cli 1.4.0-alpha.2 → 1.4.0-alpha.4

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 (493) hide show
  1. package/README.md +24 -10
  2. package/dist/abi/defi-wrapper/GenericStrategy.d.ts +308 -0
  3. package/dist/abi/defi-wrapper/GenericStrategy.js +409 -0
  4. package/dist/abi/defi-wrapper/GenericStrategy.js.map +1 -0
  5. package/dist/abi/defi-wrapper/MellowStrategy.d.ts +429 -0
  6. package/dist/abi/defi-wrapper/MellowStrategy.js +892 -0
  7. package/dist/abi/defi-wrapper/MellowStrategy.js.map +1 -0
  8. package/dist/abi/defi-wrapper/{StvStETHPool.js → StvStEthPool.js} +1 -1
  9. package/dist/abi/defi-wrapper/{StvStETHPool.js.map → StvStEthPool.js.map} +1 -1
  10. package/dist/abi/defi-wrapper/index.d.ts +3 -1
  11. package/dist/abi/defi-wrapper/index.js +3 -1
  12. package/dist/abi/defi-wrapper/index.js.map +1 -1
  13. package/dist/abi/defi-wrapper/sources.d.ts +103 -0
  14. package/dist/abi/defi-wrapper/sources.js +104 -0
  15. package/dist/abi/defi-wrapper/sources.js.map +1 -0
  16. package/dist/command/index.js.map +1 -1
  17. package/dist/configs/constants.d.ts +28 -7
  18. package/dist/configs/deployed.d.ts +5 -0
  19. package/dist/configs/deployed.js +29 -10
  20. package/dist/configs/deployed.js.map +1 -1
  21. package/dist/configs/envs.js +2 -0
  22. package/dist/configs/envs.js.map +1 -1
  23. package/dist/configs/utils.js +1 -1
  24. package/dist/configs/utils.js.map +1 -1
  25. package/dist/contracts/dashboard-impl.d.ts +1 -1
  26. package/dist/contracts/dashboard-impl.js +1 -1
  27. package/dist/contracts/defi-wrapper/distributor.d.ts +1 -1
  28. package/dist/contracts/defi-wrapper/distributor.js +1 -1
  29. package/dist/contracts/defi-wrapper/factory.d.ts +1 -1
  30. package/dist/contracts/defi-wrapper/factory.js +1 -1
  31. package/dist/contracts/defi-wrapper/generic-strategy.d.ts +5 -0
  32. package/dist/contracts/defi-wrapper/generic-strategy.js +12 -0
  33. package/dist/contracts/defi-wrapper/generic-strategy.js.map +1 -0
  34. package/dist/contracts/defi-wrapper/index.d.ts +1 -0
  35. package/dist/contracts/defi-wrapper/index.js +1 -0
  36. package/dist/contracts/defi-wrapper/index.js.map +1 -1
  37. package/dist/contracts/defi-wrapper/ossifiable-proxy.d.ts +1 -1
  38. package/dist/contracts/defi-wrapper/ossifiable-proxy.js +1 -1
  39. package/dist/contracts/defi-wrapper/strategy-factory.d.ts +1 -1
  40. package/dist/contracts/defi-wrapper/strategy-factory.js +1 -1
  41. package/dist/contracts/defi-wrapper/stv-pool.d.ts +1 -1
  42. package/dist/contracts/defi-wrapper/stv-pool.js +1 -1
  43. package/dist/contracts/defi-wrapper/stv-steth-pool.d.ts +1 -1
  44. package/dist/contracts/defi-wrapper/stv-steth-pool.js +1 -1
  45. package/dist/contracts/defi-wrapper/timelock.d.ts +1 -1
  46. package/dist/contracts/defi-wrapper/timelock.js +1 -1
  47. package/dist/contracts/defi-wrapper/withdrawal-queue.d.ts +1 -1
  48. package/dist/contracts/defi-wrapper/withdrawal-queue.js +1 -1
  49. package/dist/contracts/lazy-oracle.d.ts +2 -2
  50. package/dist/contracts/lazy-oracle.js +3 -3
  51. package/dist/contracts/lazy-oracle.js.map +1 -1
  52. package/dist/contracts/locator.d.ts +1 -1
  53. package/dist/contracts/locator.js +1 -1
  54. package/dist/contracts/operator-grid.d.ts +2 -2
  55. package/dist/contracts/operator-grid.js +3 -3
  56. package/dist/contracts/operator-grid.js.map +1 -1
  57. package/dist/contracts/pdg.d.ts +2 -2
  58. package/dist/contracts/pdg.js +3 -3
  59. package/dist/contracts/pdg.js.map +1 -1
  60. package/dist/contracts/steth.d.ts +2 -2
  61. package/dist/contracts/steth.js +3 -3
  62. package/dist/contracts/steth.js.map +1 -1
  63. package/dist/contracts/vault-factory.d.ts +2 -2
  64. package/dist/contracts/vault-factory.js +2 -2
  65. package/dist/contracts/vault-hub.d.ts +2 -2
  66. package/dist/contracts/vault-hub.js +3 -3
  67. package/dist/contracts/vault-hub.js.map +1 -1
  68. package/dist/contracts/vault-viewer.d.ts +1 -1
  69. package/dist/contracts/vault-viewer.js +2 -3
  70. package/dist/contracts/vault-viewer.js.map +1 -1
  71. package/dist/contracts/vault.d.ts +1 -1
  72. package/dist/contracts/vault.js +1 -1
  73. package/dist/contracts/wsteth.d.ts +2 -2
  74. package/dist/contracts/wsteth.js +3 -3
  75. package/dist/contracts/wsteth.js.map +1 -1
  76. package/dist/features/consolidation.d.ts +3 -4
  77. package/dist/features/consolidation.js +60 -32
  78. package/dist/features/consolidation.js.map +1 -1
  79. package/dist/features/defi-wrapper/defi-wrapper-factory.d.ts +4 -1
  80. package/dist/features/defi-wrapper/defi-wrapper-factory.js +7 -4
  81. package/dist/features/defi-wrapper/defi-wrapper-factory.js.map +1 -1
  82. package/dist/features/defi-wrapper/distributor.d.ts +3 -1
  83. package/dist/features/defi-wrapper/distributor.js +31 -16
  84. package/dist/features/defi-wrapper/distributor.js.map +1 -1
  85. package/dist/features/defi-wrapper/index.d.ts +1 -0
  86. package/dist/features/defi-wrapper/index.js +1 -0
  87. package/dist/features/defi-wrapper/index.js.map +1 -1
  88. package/dist/features/defi-wrapper/pool-info.d.ts +18 -1
  89. package/dist/features/defi-wrapper/pool-info.js +52 -8
  90. package/dist/features/defi-wrapper/pool-info.js.map +1 -1
  91. package/dist/features/defi-wrapper/timelock-roles.d.ts +5 -0
  92. package/dist/features/defi-wrapper/timelock-roles.js +43 -0
  93. package/dist/features/defi-wrapper/timelock-roles.js.map +1 -0
  94. package/dist/features/defi-wrapper/timelock.d.ts +8930 -9
  95. package/dist/features/defi-wrapper/timelock.js +87 -60
  96. package/dist/features/defi-wrapper/timelock.js.map +1 -1
  97. package/dist/features/defi-wrapper/verify-contracts.d.ts +20 -0
  98. package/dist/features/defi-wrapper/verify-contracts.js +145 -0
  99. package/dist/features/defi-wrapper/verify-contracts.js.map +1 -0
  100. package/dist/features/deposits/make-pdg-proof.js +1 -1
  101. package/dist/features/metrics.d.ts +2 -2
  102. package/dist/features/metrics.js +1 -1
  103. package/dist/features/mint-burn/mint-limit.js +1 -1
  104. package/dist/features/mint-burn/mint-limit.js.map +1 -1
  105. package/dist/features/utils/minting-capacity.js +1 -1
  106. package/dist/features/utils/try-fetch.js +4 -2
  107. package/dist/features/utils/try-fetch.js.map +1 -1
  108. package/dist/features/vault-factory.js +6 -5
  109. package/dist/features/vault-factory.js.map +1 -1
  110. package/dist/features/vault-operations/dashboard-by-vault.js +3 -7
  111. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
  112. package/dist/features/vault-operations/vault-info.js +1 -1
  113. package/dist/features/vault-operations/vault-info.js.map +1 -1
  114. package/dist/features/vault-operations/vault-overview.js +1 -1
  115. package/dist/features/vault-operations/vault-overview.js.map +1 -1
  116. package/dist/features/with-report.d.ts +1 -1
  117. package/dist/features/with-report.js +1 -1
  118. package/dist/features/with-report.js.map +1 -1
  119. package/dist/index.js +7 -2
  120. package/dist/index.js.map +1 -1
  121. package/dist/programs/account/write.js +2 -1
  122. package/dist/programs/account/write.js.map +1 -1
  123. package/dist/programs/config.js +4 -2
  124. package/dist/programs/config.js.map +1 -1
  125. package/dist/programs/contracts/dashboard/read.js +3 -6
  126. package/dist/programs/contracts/dashboard/read.js.map +1 -1
  127. package/dist/programs/contracts/dashboard/write.js +2 -2
  128. package/dist/programs/contracts/dashboard/write.js.map +1 -1
  129. package/dist/programs/contracts/lazy-oracle/config.js +2 -2
  130. package/dist/programs/contracts/lazy-oracle/config.js.map +1 -1
  131. package/dist/programs/contracts/pdg/write.js +1 -1
  132. package/dist/programs/contracts/vault/config.js +1 -1
  133. package/dist/programs/contracts/vault/config.js.map +1 -1
  134. package/dist/programs/contracts/vault-factory/write.js +8 -9
  135. package/dist/programs/contracts/vault-factory/write.js.map +1 -1
  136. package/dist/programs/contracts/vault-viewer/config.js +8 -8
  137. package/dist/programs/contracts/vault-viewer/config.js.map +1 -1
  138. package/dist/programs/defi-wrapper/contracts/distributor/config.d.ts +1 -1
  139. package/dist/programs/defi-wrapper/contracts/distributor/read.js +2 -2
  140. package/dist/programs/defi-wrapper/contracts/distributor/write.js +1 -1
  141. package/dist/programs/defi-wrapper/contracts/factory/config.d.ts +1 -1
  142. package/dist/programs/defi-wrapper/contracts/factory/read.js +2 -2
  143. package/dist/programs/defi-wrapper/contracts/factory/write.js +79 -8
  144. package/dist/programs/defi-wrapper/contracts/factory/write.js.map +1 -1
  145. package/dist/programs/defi-wrapper/contracts/index.d.ts +1 -0
  146. package/dist/programs/defi-wrapper/contracts/index.js +1 -0
  147. package/dist/programs/defi-wrapper/contracts/index.js.map +1 -1
  148. package/dist/programs/defi-wrapper/contracts/strategy/config.d.ts +3 -0
  149. package/dist/programs/defi-wrapper/contracts/strategy/config.js +40 -0
  150. package/dist/programs/defi-wrapper/contracts/strategy/config.js.map +1 -0
  151. package/dist/programs/defi-wrapper/contracts/strategy/index.d.ts +3 -0
  152. package/dist/programs/defi-wrapper/contracts/strategy/index.js +4 -0
  153. package/dist/programs/defi-wrapper/contracts/strategy/index.js.map +1 -0
  154. package/dist/programs/defi-wrapper/contracts/strategy/main.d.ts +1 -0
  155. package/dist/programs/defi-wrapper/contracts/strategy/main.js +6 -0
  156. package/dist/programs/defi-wrapper/contracts/strategy/main.js.map +1 -0
  157. package/dist/programs/defi-wrapper/contracts/strategy/read.js +30 -0
  158. package/dist/programs/defi-wrapper/contracts/strategy/read.js.map +1 -0
  159. package/dist/programs/defi-wrapper/contracts/strategy/write.d.ts +1 -0
  160. package/dist/programs/defi-wrapper/contracts/strategy/write.js +34 -0
  161. package/dist/programs/defi-wrapper/contracts/strategy/write.js.map +1 -0
  162. package/dist/programs/defi-wrapper/contracts/stv-pool/config.d.ts +1 -1
  163. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js +2 -2
  164. package/dist/programs/defi-wrapper/contracts/stv-pool/write.js +1 -1
  165. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.d.ts +1 -1
  166. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js +2 -2
  167. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js +58 -22
  168. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js.map +1 -1
  169. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.d.ts +1 -1
  170. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.js +1 -1
  171. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.js.map +1 -1
  172. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js +2 -2
  173. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js +4 -5
  174. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js.map +1 -1
  175. package/dist/programs/defi-wrapper/use-cases/distributor/read.js +2 -2
  176. package/dist/programs/defi-wrapper/use-cases/distributor/write.js +139 -31
  177. package/dist/programs/defi-wrapper/use-cases/distributor/write.js.map +1 -1
  178. package/dist/programs/defi-wrapper/use-cases/health/read.js +2 -2
  179. package/dist/programs/defi-wrapper/use-cases/health/utils.js +2 -2
  180. package/dist/programs/defi-wrapper/use-cases/health/utils.js.map +1 -1
  181. package/dist/programs/defi-wrapper/use-cases/health/write.js +3 -3
  182. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js +28 -15
  183. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js.map +1 -1
  184. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js +194 -20
  185. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js.map +1 -1
  186. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js +5 -5
  187. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js.map +1 -1
  188. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.d.ts +1 -0
  189. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js +1 -0
  190. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js.map +1 -1
  191. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js +6 -6
  192. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js.map +1 -1
  193. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js +1 -1
  194. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js +5 -5
  195. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js.map +1 -1
  196. package/dist/programs/defi-wrapper/use-cases/timelock-governance/strategy/index.d.ts +2 -0
  197. package/dist/programs/defi-wrapper/use-cases/timelock-governance/strategy/index.js +3 -0
  198. package/dist/programs/defi-wrapper/use-cases/timelock-governance/strategy/index.js.map +1 -0
  199. package/dist/programs/defi-wrapper/use-cases/timelock-governance/strategy/main.d.ts +1 -0
  200. package/dist/programs/defi-wrapper/use-cases/timelock-governance/strategy/main.js +6 -0
  201. package/dist/programs/defi-wrapper/use-cases/timelock-governance/strategy/main.js.map +1 -0
  202. package/dist/programs/defi-wrapper/use-cases/timelock-governance/strategy/write.d.ts +1 -0
  203. package/dist/programs/defi-wrapper/use-cases/timelock-governance/strategy/write.js +57 -0
  204. package/dist/programs/defi-wrapper/use-cases/timelock-governance/strategy/write.js.map +1 -0
  205. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js +5 -5
  206. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js.map +1 -1
  207. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js +37 -16
  208. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js.map +1 -1
  209. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js +18 -17
  210. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js.map +1 -1
  211. package/dist/programs/dev-tools/anvil/write.js +2 -2
  212. package/dist/programs/dev-tools/anvil/write.js.map +1 -1
  213. package/dist/programs/dev-tools/defi-wrapper/write.js +1 -1
  214. package/dist/programs/pdg-helpers.js +4 -0
  215. package/dist/programs/pdg-helpers.js.map +1 -1
  216. package/dist/programs/use-cases/consolidation/write.js +7 -6
  217. package/dist/programs/use-cases/consolidation/write.js.map +1 -1
  218. package/dist/programs/use-cases/deposits/read.js +1 -2
  219. package/dist/programs/use-cases/deposits/read.js.map +1 -1
  220. package/dist/programs/use-cases/metrics/read.js +115 -1
  221. package/dist/programs/use-cases/metrics/read.js.map +1 -1
  222. package/dist/programs/use-cases/report/write.js +1 -3
  223. package/dist/programs/use-cases/report/write.js.map +1 -1
  224. package/dist/programs/use-cases/vault-operations/create-vault.js +8 -9
  225. package/dist/programs/use-cases/vault-operations/create-vault.js.map +1 -1
  226. package/dist/programs/use-cases/vault-operations/write.js +2 -14
  227. package/dist/programs/use-cases/vault-operations/write.js.map +1 -1
  228. package/dist/providers/wallet.d.ts +2963 -18211
  229. package/dist/providers/wallet.js +80 -9
  230. package/dist/providers/wallet.js.map +1 -1
  231. package/dist/tests/fixtures/consolidation-fixtures.d.ts +64 -0
  232. package/dist/tests/fixtures/consolidation-fixtures.js +57 -0
  233. package/dist/tests/fixtures/consolidation-fixtures.js.map +1 -0
  234. package/dist/tests/integration/deposits.test.js +1 -1
  235. package/dist/tests/integration/gas-estimation.test.d.ts +1 -0
  236. package/dist/tests/integration/gas-estimation.test.js +76 -0
  237. package/dist/tests/integration/gas-estimation.test.js.map +1 -0
  238. package/dist/tests/integration/{globalSetup.js → global-setup.js} +2 -2
  239. package/dist/tests/integration/global-setup.js.map +1 -0
  240. package/dist/tests/integration/helpers/test-client.d.ts +2079 -12251
  241. package/dist/tests/integration/helpers/test-config.js +4 -4
  242. package/dist/tests/integration/helpers/test-config.js.map +1 -1
  243. package/dist/tests/integration/metrics.test.js +1 -2
  244. package/dist/tests/integration/metrics.test.js.map +1 -1
  245. package/dist/tests/integration/mint-burn.test.js +1 -2
  246. package/dist/tests/integration/mint-burn.test.js.map +1 -1
  247. package/dist/tests/integration/minting-capacity.test.d.ts +1 -0
  248. package/dist/tests/integration/minting-capacity.test.js +52 -0
  249. package/dist/tests/integration/minting-capacity.test.js.map +1 -0
  250. package/dist/tests/integration/quarantine.test.d.ts +1 -0
  251. package/dist/tests/integration/quarantine.test.js +32 -0
  252. package/dist/tests/integration/quarantine.test.js.map +1 -0
  253. package/dist/tests/integration/report-fresh.test.d.ts +1 -0
  254. package/dist/tests/integration/report-fresh.test.js +47 -0
  255. package/dist/tests/integration/report-fresh.test.js.map +1 -0
  256. package/dist/tests/utils/arguments-security.test.d.ts +1 -0
  257. package/dist/tests/utils/arguments-security.test.js +34 -0
  258. package/dist/tests/utils/arguments-security.test.js.map +1 -0
  259. package/dist/tests/utils/arguments.test.js +5 -24
  260. package/dist/tests/utils/arguments.test.js.map +1 -1
  261. package/dist/tests/utils/big-int.test.d.ts +1 -0
  262. package/dist/tests/utils/{bigInt.test.js → big-int.test.js} +2 -2
  263. package/dist/tests/utils/big-int.test.js.map +1 -0
  264. package/dist/tests/utils/cache-security.test.d.ts +1 -0
  265. package/dist/tests/utils/cache-security.test.js +62 -0
  266. package/dist/tests/utils/cache-security.test.js.map +1 -0
  267. package/dist/tests/utils/cache.test.d.ts +1 -0
  268. package/dist/tests/utils/cache.test.js +233 -0
  269. package/dist/tests/utils/cache.test.js.map +1 -0
  270. package/dist/tests/utils/calculate-overview-v2.test.js +1 -1
  271. package/dist/tests/utils/calculate-overview.test.js +4 -2
  272. package/dist/tests/utils/calculate-overview.test.js.map +1 -1
  273. package/dist/tests/utils/confirmations.test.d.ts +1 -0
  274. package/dist/tests/utils/confirmations.test.js +35 -0
  275. package/dist/tests/utils/confirmations.test.js.map +1 -0
  276. package/dist/tests/utils/consolidation-checks.test.d.ts +1 -0
  277. package/dist/tests/utils/consolidation-checks.test.js +77 -0
  278. package/dist/tests/utils/consolidation-checks.test.js.map +1 -0
  279. package/dist/tests/utils/consolidation-fee-exemption-calc.test.d.ts +1 -0
  280. package/dist/tests/utils/consolidation-fee-exemption-calc.test.js +145 -0
  281. package/dist/tests/utils/consolidation-fee-exemption-calc.test.js.map +1 -0
  282. package/dist/tests/utils/consolidation-fee-exemption-confirm.test.d.ts +1 -0
  283. package/dist/tests/utils/consolidation-fee-exemption-confirm.test.js +118 -0
  284. package/dist/tests/utils/consolidation-fee-exemption-confirm.test.js.map +1 -0
  285. package/dist/tests/utils/consolidation-fee-exemption.test.d.ts +1 -0
  286. package/dist/tests/utils/consolidation-fee-exemption.test.js +168 -0
  287. package/dist/tests/utils/consolidation-fee-exemption.test.js.map +1 -0
  288. package/dist/tests/utils/consolidation-pubkeys.test.d.ts +1 -0
  289. package/dist/tests/utils/consolidation-pubkeys.test.js +101 -0
  290. package/dist/tests/utils/consolidation-pubkeys.test.js.map +1 -0
  291. package/dist/tests/utils/consolidation-validator-info.test.d.ts +1 -0
  292. package/dist/tests/utils/consolidation-validator-info.test.js +101 -0
  293. package/dist/tests/utils/consolidation-validator-info.test.js.map +1 -0
  294. package/dist/tests/utils/consolidation-validators-checks.test.d.ts +1 -0
  295. package/dist/tests/utils/consolidation-validators-checks.test.js +156 -0
  296. package/dist/tests/utils/consolidation-validators-checks.test.js.map +1 -0
  297. package/dist/tests/utils/consts.test.d.ts +1 -0
  298. package/dist/tests/utils/consts.test.js +24 -0
  299. package/dist/tests/utils/consts.test.js.map +1 -0
  300. package/dist/tests/utils/contract-write-stateoverride.test.d.ts +1 -0
  301. package/dist/tests/utils/contract-write-stateoverride.test.js +135 -0
  302. package/dist/tests/utils/contract-write-stateoverride.test.js.map +1 -0
  303. package/dist/tests/utils/csv-file.test.js +1 -1
  304. package/dist/tests/utils/data-validators.test.js +22 -6
  305. package/dist/tests/utils/data-validators.test.js.map +1 -1
  306. package/dist/tests/utils/deployed-security.test.d.ts +1 -0
  307. package/dist/tests/utils/deployed-security.test.js +51 -0
  308. package/dist/tests/utils/deployed-security.test.js.map +1 -0
  309. package/dist/tests/utils/first-validator-gindex.test.d.ts +1 -0
  310. package/dist/tests/utils/first-validator-gindex.test.js +48 -0
  311. package/dist/tests/utils/first-validator-gindex.test.js.map +1 -0
  312. package/dist/tests/utils/get-commands.test.js +1 -1
  313. package/dist/tests/utils/get-commands.test.js.map +1 -1
  314. package/dist/tests/utils/get-confirmations.test.d.ts +1 -0
  315. package/dist/tests/utils/get-confirmations.test.js +40 -0
  316. package/dist/tests/utils/get-confirmations.test.js.map +1 -0
  317. package/dist/tests/utils/ipfs-security.test.d.ts +1 -0
  318. package/dist/tests/utils/ipfs-security.test.js +232 -0
  319. package/dist/tests/utils/ipfs-security.test.js.map +1 -0
  320. package/dist/tests/utils/ipfs.test.js +47 -18
  321. package/dist/tests/utils/ipfs.test.js.map +1 -1
  322. package/dist/tests/utils/lido-apr.test.js +1 -1
  323. package/dist/tests/utils/logging.test.js +1 -1
  324. package/dist/tests/utils/logging.test.js.map +1 -1
  325. package/dist/tests/utils/merkle-utils.test.js +1 -0
  326. package/dist/tests/utils/merkle-utils.test.js.map +1 -1
  327. package/dist/tests/utils/parse-abi-arguments.test.d.ts +1 -0
  328. package/dist/tests/utils/parse-abi-arguments.test.js +399 -0
  329. package/dist/tests/utils/parse-abi-arguments.test.js.map +1 -0
  330. package/dist/tests/utils/public-client-gas-estimation.test.d.ts +1 -0
  331. package/dist/tests/utils/public-client-gas-estimation.test.js +231 -0
  332. package/dist/tests/utils/public-client-gas-estimation.test.js.map +1 -0
  333. package/dist/tests/utils/rate-limit-security.test.d.ts +1 -0
  334. package/dist/tests/utils/rate-limit-security.test.js +82 -0
  335. package/dist/tests/utils/rate-limit-security.test.js.map +1 -0
  336. package/dist/tests/utils/rebase-rewards.test.js +1 -1
  337. package/dist/tests/utils/report-statistic.test.js +1 -1
  338. package/dist/tests/utils/resove-path.test.js +2 -2
  339. package/dist/tests/utils/resove-path.test.js.map +1 -1
  340. package/dist/tests/utils/salt.test.d.ts +1 -0
  341. package/dist/tests/utils/salt.test.js +20 -0
  342. package/dist/tests/utils/salt.test.js.map +1 -0
  343. package/dist/tests/utils/snake-to-camel.test.js +1 -1
  344. package/dist/tests/utils/stream-helpers.d.ts +1 -0
  345. package/dist/tests/utils/stream-helpers.js +11 -0
  346. package/dist/tests/utils/stream-helpers.js.map +1 -0
  347. package/dist/tests/utils/timestamp.test.js +1 -1
  348. package/dist/tests/utils/with-error.test.d.ts +1 -0
  349. package/dist/tests/utils/with-error.test.js +42 -0
  350. package/dist/tests/utils/with-error.test.js.map +1 -0
  351. package/dist/utils/arguments.d.ts +2 -7
  352. package/dist/utils/arguments.js +34 -34
  353. package/dist/utils/arguments.js.map +1 -1
  354. package/dist/utils/big-int.js +7 -0
  355. package/dist/utils/big-int.js.map +1 -0
  356. package/dist/utils/cache.js +25 -22
  357. package/dist/utils/cache.js.map +1 -1
  358. package/dist/utils/calculate-overview-v2.js +1 -1
  359. package/dist/utils/calculate-overview-v2.js.map +1 -1
  360. package/dist/utils/calculate-overview.js +2 -2
  361. package/dist/utils/calculate-overview.js.map +1 -1
  362. package/dist/utils/charts/blessed/charts-apr.js +2 -2
  363. package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
  364. package/dist/utils/charts/blessed/charts-rewards.js +2 -2
  365. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
  366. package/dist/utils/charts/blessed/datasets/prepare-metrics.js +1 -2
  367. package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
  368. package/dist/utils/charts/blessed/utils.js +1 -0
  369. package/dist/utils/charts/blessed/utils.js.map +1 -1
  370. package/dist/utils/charts/overview.js +3 -3
  371. package/dist/utils/charts/overview.js.map +1 -1
  372. package/dist/utils/commands/confirmations.js +15 -8
  373. package/dist/utils/commands/confirmations.js.map +1 -1
  374. package/dist/utils/consolidation/confirms.js +19 -8
  375. package/dist/utils/consolidation/confirms.js.map +1 -1
  376. package/dist/utils/consolidation/fee-exemption.d.ts +19 -0
  377. package/dist/utils/consolidation/fee-exemption.js +70 -0
  378. package/dist/utils/consolidation/fee-exemption.js.map +1 -0
  379. package/dist/utils/consolidation/index.d.ts +1 -0
  380. package/dist/utils/consolidation/index.js +1 -0
  381. package/dist/utils/consolidation/index.js.map +1 -1
  382. package/dist/utils/consolidation/pubkeys.js +2 -0
  383. package/dist/utils/consolidation/pubkeys.js.map +1 -1
  384. package/dist/utils/consolidation/types.d.ts +1 -0
  385. package/dist/utils/consolidation/validator-info.d.ts +3 -2
  386. package/dist/utils/consolidation/validator-info.js +10 -4
  387. package/dist/utils/consolidation/validator-info.js.map +1 -1
  388. package/dist/utils/consolidation/validators-checks.d.ts +1 -1
  389. package/dist/utils/consolidation/validators-checks.js +5 -5
  390. package/dist/utils/consolidation/validators-checks.js.map +1 -1
  391. package/dist/utils/csv-file.js +1 -1
  392. package/dist/utils/csv-file.js.map +1 -1
  393. package/dist/utils/data-validators.d.ts +3 -2
  394. package/dist/utils/data-validators.js +11 -14
  395. package/dist/utils/data-validators.js.map +1 -1
  396. package/dist/utils/env.d.ts +1 -0
  397. package/dist/utils/env.js +8 -0
  398. package/dist/utils/env.js.map +1 -0
  399. package/dist/utils/{fetchCL.d.ts → fetch-cl.d.ts} +15 -17
  400. package/dist/utils/{fetchCL.js → fetch-cl.js} +5 -3
  401. package/dist/utils/fetch-cl.js.map +1 -0
  402. package/dist/utils/get-commands.js +3 -2
  403. package/dist/utils/get-commands.js.map +1 -1
  404. package/dist/utils/get-value.js +1 -1
  405. package/dist/utils/get-value.js.map +1 -1
  406. package/dist/utils/index.d.ts +7 -6
  407. package/dist/utils/index.js +7 -6
  408. package/dist/utils/index.js.map +1 -1
  409. package/dist/utils/interrupt-handler.js +1 -1
  410. package/dist/utils/interrupt-handler.js.map +1 -1
  411. package/dist/utils/ipfs.d.ts +21 -5
  412. package/dist/utils/ipfs.js +159 -37
  413. package/dist/utils/ipfs.js.map +1 -1
  414. package/dist/utils/logging/console.d.ts +1 -0
  415. package/dist/utils/logging/console.js +35 -7
  416. package/dist/utils/logging/console.js.map +1 -1
  417. package/dist/utils/parse-abi-arguments.d.ts +24 -0
  418. package/dist/utils/parse-abi-arguments.js +159 -0
  419. package/dist/utils/parse-abi-arguments.js.map +1 -0
  420. package/dist/utils/prompts/account.d.ts +1 -0
  421. package/dist/utils/prompts/account.js +13 -0
  422. package/dist/utils/prompts/account.js.map +1 -0
  423. package/dist/utils/prompts/index.d.ts +3 -0
  424. package/dist/utils/prompts/index.js +3 -0
  425. package/dist/utils/prompts/index.js.map +1 -1
  426. package/dist/utils/prompts/predeposit-guarantee.js +1 -1
  427. package/dist/utils/prompts/strategy.d.ts +15398 -0
  428. package/dist/utils/prompts/strategy.js +10 -0
  429. package/dist/utils/prompts/strategy.js.map +1 -0
  430. package/dist/utils/prompts/timelock-roles.d.ts +1 -0
  431. package/dist/utils/prompts/timelock-roles.js +13 -0
  432. package/dist/utils/prompts/timelock-roles.js.map +1 -0
  433. package/dist/utils/proof/constants.d.ts +1 -0
  434. package/dist/utils/proof/constants.js +1 -0
  435. package/dist/utils/proof/constants.js.map +1 -1
  436. package/dist/utils/proof/create-proof.js +1 -1
  437. package/dist/utils/proof/create-proof.js.map +1 -1
  438. package/dist/utils/proof/first-validator-gindex.js +27 -13
  439. package/dist/utils/proof/first-validator-gindex.js.map +1 -1
  440. package/dist/utils/proof/merkle-utils.js +1 -1
  441. package/dist/utils/proof/merkle-utils.js.map +1 -1
  442. package/dist/utils/proof/proofs.d.ts +1 -1
  443. package/dist/utils/proof/proofs.js +1 -1
  444. package/dist/utils/proof/proofs.js.map +1 -1
  445. package/dist/utils/rate-limit.d.ts +6 -0
  446. package/dist/utils/rate-limit.js +22 -5
  447. package/dist/utils/rate-limit.js.map +1 -1
  448. package/dist/utils/read-programs-by-abi.d.ts +1 -1
  449. package/dist/utils/read-programs-by-abi.js +11 -12
  450. package/dist/utils/read-programs-by-abi.js.map +1 -1
  451. package/dist/utils/report/report-proof.js +1 -1
  452. package/dist/utils/report/report-proof.js.map +1 -1
  453. package/dist/utils/report/report.js +2 -2
  454. package/dist/utils/report/report.js.map +1 -1
  455. package/dist/utils/report/statistic-data.js +1 -1
  456. package/dist/utils/resolve-path.js +2 -2
  457. package/dist/utils/resolve-path.js.map +1 -1
  458. package/dist/utils/salt.d.ts +3 -0
  459. package/dist/utils/salt.js +8 -0
  460. package/dist/utils/salt.js.map +1 -0
  461. package/dist/utils/share-rate.js +1 -1
  462. package/dist/utils/share-rate.js.map +1 -1
  463. package/dist/utils/snake-to-camel.js +1 -1
  464. package/dist/utils/snake-to-camel.js.map +1 -1
  465. package/dist/utils/spinner/spinners.js +2 -1
  466. package/dist/utils/spinner/spinners.js.map +1 -1
  467. package/dist/utils/statistic/report-statistic.d.ts +1 -1
  468. package/dist/utils/transactions/tx-private-key.d.ts +2 -1
  469. package/dist/utils/transactions/tx-private-key.js +5 -8
  470. package/dist/utils/transactions/tx-private-key.js.map +1 -1
  471. package/dist/utils/transactions/tx-wc.d.ts +2 -2
  472. package/dist/utils/transactions/tx-wc.js +11 -15
  473. package/dist/utils/transactions/tx-wc.js.map +1 -1
  474. package/dist/utils/transactions/utils.d.ts +1 -0
  475. package/dist/utils/transactions/utils.js +12 -0
  476. package/dist/utils/transactions/utils.js.map +1 -1
  477. package/dist/utils/wallet-connect.js +2 -3
  478. package/dist/utils/wallet-connect.js.map +1 -1
  479. package/dist/version/index.js +1 -1
  480. package/dist/vitest.config.js +1 -1
  481. package/dist/vitest.config.js.map +1 -1
  482. package/dist/vitest.integration.config.js +2 -2
  483. package/dist/vitest.integration.config.js.map +1 -1
  484. package/package.json +28 -34
  485. package/dist/tests/integration/globalSetup.js.map +0 -1
  486. package/dist/tests/utils/bigInt.test.js.map +0 -1
  487. package/dist/utils/bigInt.js +0 -3
  488. package/dist/utils/bigInt.js.map +0 -1
  489. package/dist/utils/fetchCL.js.map +0 -1
  490. /package/dist/abi/defi-wrapper/{StvStETHPool.d.ts → StvStEthPool.d.ts} +0 -0
  491. /package/dist/{tests/utils/bigInt.test.d.ts → programs/defi-wrapper/contracts/strategy/read.d.ts} +0 -0
  492. /package/dist/tests/integration/{globalSetup.d.ts → global-setup.d.ts} +0 -0
  493. /package/dist/utils/{bigInt.d.ts → big-int.d.ts} +0 -0
@@ -0,0 +1,232 @@
1
+ import { describe, test, expect, vi, beforeEach } from 'vitest';
2
+ vi.mock('multiformats/cid', () => {
3
+ class MockCID {
4
+ str;
5
+ constructor(str) {
6
+ this.str = str;
7
+ }
8
+ toString() {
9
+ return this.str;
10
+ }
11
+ equals(other) {
12
+ return other && other.str === this.str;
13
+ }
14
+ static parse(str) {
15
+ if (str === 'INVALID_CID' || str.includes('..'))
16
+ throw new Error('Invalid CID');
17
+ return new MockCID(str);
18
+ }
19
+ }
20
+ return { CID: MockCID };
21
+ });
22
+ vi.mock('blockstore-core', () => ({ MemoryBlockstore: vi.fn() }));
23
+ vi.mock('ipfs-unixfs-importer', () => ({ importer: vi.fn() }));
24
+ vi.mock('../../utils/logging/console.js', () => ({
25
+ logInfo: vi.fn(),
26
+ logTable: vi.fn(),
27
+ }));
28
+ // Force a cache miss so the cached path falls through to a real fetch,
29
+ // and keep the test from touching the disk.
30
+ vi.mock('node:fs/promises', () => ({
31
+ default: {
32
+ mkdir: vi.fn(async () => { }),
33
+ readFile: vi.fn(async () => {
34
+ throw new Error('ENOENT');
35
+ }),
36
+ writeFile: vi.fn(async () => { }),
37
+ },
38
+ }));
39
+ import * as ipfs from '../../utils/ipfs.js';
40
+ import { streamOf } from './stream-helpers.js';
41
+ beforeEach(() => {
42
+ vi.clearAllMocks();
43
+ globalThis.fetch = vi.fn();
44
+ });
45
+ describe('IPFS SSRF guards (H2/H3)', () => {
46
+ test('fetchIPFSDirect rejects non-http/https gateway', async () => {
47
+ await expect(ipfs.fetchIPFSDirect({ cid: 'abc', gateway: 'file:///etc/passwd' })).rejects.toThrow('unsupported URL scheme "file:"');
48
+ });
49
+ test('fetchIPFSDirect rejects ftp gateway', async () => {
50
+ await expect(
51
+ // eslint-disable-next-line sonarjs/no-clear-text-protocols
52
+ ipfs.fetchIPFSDirect({ cid: 'abc', gateway: 'ftp://evil.com' })).rejects.toThrow('unsupported URL scheme "ftp:"');
53
+ });
54
+ test('fetchIPFSDirect rejects invalid gateway URL', async () => {
55
+ await expect(ipfs.fetchIPFSDirect({ cid: 'abc', gateway: 'not-a-url' })).rejects.toThrow('invalid URL');
56
+ });
57
+ test('fetchIPFSBuffer rejects non-http/https gateway', async () => {
58
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', gateway: 'file:///etc/passwd' })).rejects.toThrow('unsupported URL scheme "file:"');
59
+ });
60
+ test('fetchIPFSDirect allows https gateway', async () => {
61
+ globalThis.fetch.mockResolvedValueOnce({
62
+ ok: true,
63
+ body: streamOf(new TextEncoder().encode('{"x":1}')),
64
+ });
65
+ const result = await ipfs.fetchIPFSDirect({
66
+ cid: 'abc',
67
+ gateway: ipfs.IPFS_GATEWAYS.ipfsIo,
68
+ });
69
+ expect(result).toEqual({ x: 1 });
70
+ });
71
+ test('fetchIPFSDirect allows http gateway', async () => {
72
+ globalThis.fetch.mockResolvedValueOnce({
73
+ ok: true,
74
+ body: streamOf(new TextEncoder().encode('{"y":2}')),
75
+ });
76
+ const result = await ipfs.fetchIPFSDirect({
77
+ cid: 'abc',
78
+ gateway: 'http://localhost:5001/ipfs',
79
+ });
80
+ expect(result).toEqual({ y: 2 });
81
+ });
82
+ test('pinToIPFS rejects non-http/https upload URL', async () => {
83
+ await expect(ipfs.pinToIPFS({
84
+ uploadUrl: 'file:///tmp/upload',
85
+ fileContent: '{}',
86
+ })).rejects.toThrow('unsupported URL scheme "file:"');
87
+ });
88
+ test('pinToIPFS rejects invalid upload URL', async () => {
89
+ await expect(ipfs.pinToIPFS({
90
+ uploadUrl: 'not-a-url',
91
+ fileContent: '{}',
92
+ })).rejects.toThrow('invalid URL');
93
+ });
94
+ test('pinToIPFS allows https upload URL', async () => {
95
+ globalThis.fetch.mockResolvedValueOnce({
96
+ ok: true,
97
+ json: async () => ({ IpfsHash: 'Qm123' }),
98
+ });
99
+ const result = await ipfs.pinToIPFS({
100
+ uploadUrl: 'https://api.pinata.cloud/pinning/pinFileToIPFS',
101
+ fileContent: '{}',
102
+ });
103
+ expect(result).toEqual({ IpfsHash: 'Qm123' });
104
+ });
105
+ });
106
+ describe('IPFS content size limit', () => {
107
+ const headersOf = (h) => ({
108
+ get: (k) => h[k.toLowerCase()] ?? null,
109
+ });
110
+ // Stub the next fetch() with an ok response carrying the given body and,
111
+ // optionally, a Content-Length header.
112
+ const mockFetchOnce = (body, contentLength) => {
113
+ const headers = contentLength === undefined
114
+ ? {}
115
+ : { 'content-length': String(contentLength) };
116
+ globalThis.fetch.mockResolvedValueOnce({
117
+ ok: true,
118
+ headers: headersOf(headers),
119
+ body,
120
+ });
121
+ };
122
+ // Run fn with IPFS_MAX_CONTENT_BYTES set, always restoring the prior value.
123
+ const withEnvLimit = async (value, fn) => {
124
+ const prev = process.env.IPFS_MAX_CONTENT_BYTES;
125
+ process.env.IPFS_MAX_CONTENT_BYTES = String(value);
126
+ try {
127
+ await fn();
128
+ }
129
+ finally {
130
+ if (prev === undefined)
131
+ delete process.env.IPFS_MAX_CONTENT_BYTES;
132
+ else
133
+ process.env.IPFS_MAX_CONTENT_BYTES = prev;
134
+ }
135
+ };
136
+ test('rejects on Content-Length over limit without reading body', async () => {
137
+ const getReader = vi.fn(() => {
138
+ throw new Error('body must not be read when Content-Length exceeds limit');
139
+ });
140
+ mockFetchOnce({ getReader }, 2_785_017_856);
141
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: 20 * 1024 * 1024 })).rejects.toThrow(/too large|exceeds/i);
142
+ expect(getReader).not.toHaveBeenCalled();
143
+ });
144
+ test('aborts streaming when body exceeds limit (no Content-Length)', async () => {
145
+ mockFetchOnce(streamOf(new Uint8Array(300 * 1024).fill(7)));
146
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: 128 * 1024 })).rejects.toThrow(/exceeds/i);
147
+ });
148
+ test('returns content within the limit', async () => {
149
+ const payload = new Uint8Array([1, 2, 3, 4, 5]);
150
+ mockFetchOnce(streamOf(payload), payload.byteLength);
151
+ const res = await ipfs.fetchIPFSBuffer({
152
+ cid: 'abc',
153
+ maxBytes: 20 * 1024 * 1024,
154
+ });
155
+ expect(res).toEqual(payload);
156
+ });
157
+ test('fails closed when the response has no body', async () => {
158
+ mockFetchOnce(null);
159
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc' })).rejects.toThrow(/no readable body/i);
160
+ });
161
+ test('fetchIPFSDirect aborts streaming when body exceeds limit', async () => {
162
+ mockFetchOnce(streamOf(new TextEncoder().encode('x'.repeat(300 * 1024))));
163
+ await expect(ipfs.fetchIPFSDirect({ cid: 'abc', maxBytes: 128 * 1024 })).rejects.toThrow(/exceeds/i);
164
+ });
165
+ test('enforces the 20MB default when no override / env is set', async () => {
166
+ mockFetchOnce({ getReader: vi.fn() }, 20 * 1024 * 1024 + 1);
167
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc' })).rejects.toThrow(`limit of ${20 * 1024 * 1024} bytes`);
168
+ });
169
+ test('IPFS_MAX_CONTENT_BYTES env overrides the default', async () => {
170
+ await withEnvLimit(64 * 1024, async () => {
171
+ mockFetchOnce({ getReader: vi.fn() }, 128 * 1024);
172
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc' })).rejects.toThrow(`limit of ${64 * 1024} bytes`);
173
+ });
174
+ });
175
+ test('explicit maxBytes arg takes priority over env', async () => {
176
+ await withEnvLimit(1024 * 1024 * 1024, async () => {
177
+ mockFetchOnce({ getReader: vi.fn() }, 256 * 1024);
178
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: 128 * 1024 })).rejects.toThrow(`limit of ${128 * 1024} bytes`);
179
+ });
180
+ });
181
+ test('streaming enforces limit even when Content-Length lies', async () => {
182
+ // header claims 1 KiB, body is actually 300 KiB
183
+ mockFetchOnce(streamOf(new Uint8Array(300 * 1024).fill(9)), 1024);
184
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: 128 * 1024 })).rejects.toThrow(`exceeds size limit of ${128 * 1024} bytes`);
185
+ });
186
+ test('accepts content exactly at the limit, rejects one byte over', async () => {
187
+ const limit = 200 * 1024;
188
+ mockFetchOnce(streamOf(new Uint8Array(limit).fill(1)));
189
+ const ok = await ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: limit });
190
+ expect(ok.byteLength).toBe(limit);
191
+ mockFetchOnce(streamOf(new Uint8Array(limit + 1).fill(1)));
192
+ await expect(ipfs.fetchIPFSBuffer({ cid: 'abc', maxBytes: limit })).rejects.toThrow(`exceeds size limit of ${limit} bytes`);
193
+ });
194
+ test('reassembles a multi-chunk stream in order under the limit', async () => {
195
+ const chunkSize = 64 * 1024;
196
+ const parts = [0, 1, 2, 3, 4].map((i) => new Uint8Array(chunkSize).fill(i + 1));
197
+ const payload = new Uint8Array(chunkSize * parts.length);
198
+ for (const [i, p] of parts.entries()) {
199
+ payload.set(p, i * chunkSize);
200
+ }
201
+ mockFetchOnce(streamOf(payload, chunkSize)); // one read() per chunk
202
+ const res = await ipfs.fetchIPFSBuffer({
203
+ cid: 'abc',
204
+ maxBytes: 20 * 1024 * 1024,
205
+ });
206
+ expect(res).toEqual(payload); // order + bytes preserved across chunks
207
+ });
208
+ // Threading: maxBytes must survive every hop of the public API, not just
209
+ // the leaf fetchIPFSBuffer. A dropped arg at any wrapper = silent bypass.
210
+ test('fetchIPFS (default cached path) threads maxBytes end-to-end', async () => {
211
+ mockFetchOnce(streamOf(new Uint8Array(300 * 1024).fill(3)));
212
+ // cache default true -> WithCacheAndVerify -> DirectAndVerify -> Buffer
213
+ await expect(ipfs.fetchIPFS({ cid: 'abc', maxBytes: 128 * 1024 })).rejects.toThrow(`exceeds size limit of ${128 * 1024} bytes`);
214
+ });
215
+ test('fetchIPFS (no-cache path) threads maxBytes end-to-end', async () => {
216
+ mockFetchOnce(streamOf(new Uint8Array(300 * 1024).fill(4)));
217
+ // cache false -> DirectAndVerify -> Buffer
218
+ await expect(ipfs.fetchIPFS({ cid: 'abc', maxBytes: 128 * 1024 }, false)).rejects.toThrow(`exceeds size limit of ${128 * 1024} bytes`);
219
+ });
220
+ });
221
+ describe('IPFS CID validation (M6)', () => {
222
+ test('fetchIPFSDirectAndVerify rejects invalid CID', async () => {
223
+ await expect(ipfs.fetchIPFSDirectAndVerify('INVALID_CID')).rejects.toThrow('Invalid IPFS CID: INVALID_CID');
224
+ });
225
+ test('fetchIPFSWithCacheAndVerify rejects path-traversal CID before fs access', async () => {
226
+ await expect(ipfs.fetchIPFSWithCacheAndVerify('../../../etc/passwd')).rejects.toThrow('Invalid IPFS CID');
227
+ });
228
+ test('fetchIPFSWithCacheAndVerify validates gateway URL', async () => {
229
+ await expect(ipfs.fetchIPFSWithCacheAndVerify('validcid', 'file:///etc/passwd')).rejects.toThrow('unsupported URL scheme "file:"');
230
+ });
231
+ });
232
+ //# sourceMappingURL=ipfs-security.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipfs-security.test.js","sourceRoot":"","sources":["../../../tests/utils/ipfs-security.test.ts"],"names":[],"mappings":"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"}
@@ -25,13 +25,14 @@ vi.mock('../../utils/logging/console.js', () => ({
25
25
  }));
26
26
  import { CID } from 'multiformats/cid';
27
27
  import * as ipfs from '../../utils/ipfs.js';
28
+ import { streamOf } from './stream-helpers.js';
28
29
  const fakeCid = CID.parse('bafkreigh2akiscaildcjk2d6gtrevhb7f7esg6k4t4u5p4sqkgfa6vlriu');
29
30
  let logInfo;
30
31
  let logTable;
31
32
  let importer;
32
33
  beforeEach(async () => {
33
34
  vi.clearAllMocks();
34
- global.fetch = vi.fn();
35
+ globalThis.fetch = vi.fn();
35
36
  const loggingModule = await import('../../utils/logging/console.js');
36
37
  logInfo = loggingModule.logInfo;
37
38
  logTable = loggingModule.logTable;
@@ -42,38 +43,65 @@ describe('ipfs helpers', () => {
42
43
  test('fetchIPFS parses JSON response', async () => {
43
44
  const jsonData = '{"foo":1}';
44
45
  const encoder = new TextEncoder();
45
- const buffer = encoder.encode(jsonData).buffer;
46
+ const bytes = encoder.encode(jsonData);
46
47
  const testCid = fakeCid.toString();
47
- global.fetch.mockResolvedValueOnce({
48
+ globalThis.fetch.mockResolvedValueOnce({
48
49
  ok: true,
49
- text: async () => jsonData,
50
- arrayBuffer: async () => buffer,
50
+ body: streamOf(bytes),
51
51
  });
52
52
  // Mock importer for calculateIPFSAddCID
53
53
  importer.mockImplementationOnce(async function* () {
54
54
  yield { cid: fakeCid };
55
55
  });
56
56
  const res = await ipfs.fetchIPFS({ cid: testCid }, false);
57
- expect(global.fetch).toHaveBeenCalledWith(`https://ipfs.io/ipfs/${testCid}`);
57
+ expect(globalThis.fetch).toHaveBeenCalledWith(`${ipfs.IPFS_GATEWAYS.ipfsIo}/${testCid}`);
58
58
  expect(res).toEqual({ foo: 1 });
59
59
  expect(logInfo).toHaveBeenCalled();
60
60
  });
61
61
  test('fetchIPFS throws on bad response', async () => {
62
- global.fetch.mockResolvedValueOnce({
62
+ globalThis.fetch.mockResolvedValue({
63
63
  ok: false,
64
+ status: 503,
64
65
  statusText: 'bad',
65
66
  });
66
- await expect(ipfs.fetchIPFS({ cid: 'fail' }, false)).rejects.toThrow('Failed to fetch IPFS content: bad');
67
+ await expect(ipfs.fetchIPFS({ cid: 'fail' }, false)).rejects.toThrow('Failed to fetch IPFS content from all gateways');
68
+ });
69
+ test('fetchIPFS falls back through gateways', async () => {
70
+ const jsonData = '{"foo":1}';
71
+ const bytes = new TextEncoder().encode(jsonData);
72
+ globalThis.fetch
73
+ .mockResolvedValueOnce({
74
+ ok: false,
75
+ status: 429,
76
+ statusText: 'Too Many Requests',
77
+ })
78
+ .mockResolvedValueOnce({
79
+ ok: false,
80
+ status: 503,
81
+ statusText: 'Service Unavailable',
82
+ })
83
+ .mockResolvedValueOnce({
84
+ ok: true,
85
+ body: streamOf(bytes),
86
+ });
87
+ importer.mockImplementationOnce(async function* () {
88
+ yield { cid: fakeCid };
89
+ });
90
+ const result = await ipfs.fetchIPFS({ cid: fakeCid.toString() }, false);
91
+ expect(globalThis.fetch).toHaveBeenNthCalledWith(1, `${ipfs.IPFS_GATEWAYS.ipfsIo}/${fakeCid}`);
92
+ expect(globalThis.fetch).toHaveBeenNthCalledWith(2, `${ipfs.IPFS_GATEWAYS.filebase}/${fakeCid}`);
93
+ expect(globalThis.fetch).toHaveBeenNthCalledWith(3, `${ipfs.IPFS_GATEWAYS.pinata}/${fakeCid}`);
94
+ expect(result).toEqual({ foo: 1 });
67
95
  });
68
96
  test('fetchIPFSBuffer returns buffer', async () => {
69
- const buf = new ArrayBuffer(4);
70
- global.fetch.mockResolvedValueOnce({
97
+ const bytes = new Uint8Array(4);
98
+ globalThis.fetch.mockResolvedValueOnce({
71
99
  ok: true,
72
- arrayBuffer: async () => buf,
100
+ body: streamOf(bytes),
73
101
  });
74
102
  const res = await ipfs.fetchIPFSBuffer({ cid: 'abc' });
75
- expect(global.fetch).toHaveBeenCalledWith('https://ipfs.io/ipfs/abc');
76
- expect(res).toEqual(new Uint8Array(buf));
103
+ expect(globalThis.fetch).toHaveBeenCalledWith(`${ipfs.IPFS_GATEWAYS.ipfsIo}/abc`);
104
+ expect(res).toEqual(bytes);
77
105
  });
78
106
  test('calculateIPFSAddCID returns last CID', async () => {
79
107
  importer.mockImplementationOnce(async function* () {
@@ -91,9 +119,9 @@ describe('ipfs helpers', () => {
91
119
  const encoder = new TextEncoder();
92
120
  const fileContent = encoder.encode(jsonData);
93
121
  // Mock fetch to prevent actual network calls
94
- global.fetch.mockResolvedValueOnce({
122
+ globalThis.fetch.mockResolvedValueOnce({
95
123
  ok: true,
96
- arrayBuffer: async () => fileContent.buffer,
124
+ body: streamOf(fileContent),
97
125
  });
98
126
  importer.mockImplementationOnce(async function* () {
99
127
  yield { cid: fakeCid };
@@ -105,19 +133,20 @@ describe('ipfs helpers', () => {
105
133
  });
106
134
  test('fetchAndVerifyFile throws on mismatch', async () => {
107
135
  const other = CID.parse('bafkreib3m4q5x2fr2di5m3lgvq4hzj4qkgjq2d0k8vh7y6xfxkrmwrkduy');
136
+ const dataCid = `bafkreigh2akiscaildcjk2d6gtrevhb7f7esg6k4t4u5p4sqkgfa6vlriu`;
108
137
  const jsonData = '{"test":456}';
109
138
  const encoder = new TextEncoder();
110
139
  const fileContent = encoder.encode(jsonData);
111
140
  // Mock fetch to return the file content
112
- global.fetch.mockResolvedValueOnce({
141
+ globalThis.fetch.mockResolvedValueOnce({
113
142
  ok: true,
114
- arrayBuffer: async () => fileContent.buffer,
143
+ body: streamOf(fileContent),
115
144
  });
116
145
  // Mock importer to return different CID
117
146
  importer.mockImplementationOnce(async function* () {
118
147
  yield { cid: other };
119
148
  });
120
- await expect(ipfs.fetchIPFSDirectAndVerify(fakeCid.toString())).rejects.toThrow('CID mismatch');
149
+ await expect(ipfs.fetchIPFSDirectAndVerify(fakeCid.toString())).rejects.toThrow(`❌ File hash mismatch! Expected ${dataCid}, but got ${other}`);
121
150
  });
122
151
  });
123
152
  //# sourceMappingURL=ipfs.test.js.map
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect } from 'vitest';
2
- import { calculateLidoAPR, SECONDS_IN_YEAR } from 'utils/lido-apr.js';
2
+ import { calculateLidoAPR, SECONDS_IN_YEAR } from '../../utils/lido-apr.js';
3
3
  describe('calculateLidoAPR', () => {
4
4
  it('should calculate APR for positive share rate increase', () => {
5
5
  const preShareRate = 1;
@@ -143,7 +143,7 @@ describe('logResult and logTable', () => {
143
143
  const data = [['key', 'value']];
144
144
  logResult({ data });
145
145
  const calls = vi.mocked(console.info).mock.calls;
146
- const payload = calls[calls.length - 1]?.[0];
146
+ const payload = calls.at(-1)?.[0];
147
147
  const jsonOutput = JSON.parse(payload);
148
148
  expect(jsonOutput).toEqual({
149
149
  result: data,
@@ -1 +1 @@
1
- {"version":3,"file":"logging.test.js","sourceRoot":"","sources":["../../../tests/utils/logging.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.test.js","sourceRoot":"","sources":["../../../tests/utils/logging.test.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,7 @@ describe('merkle-utils', () => {
52
52
  it('should throw error for unsupported types', () => {
53
53
  expect(() => toHex({})).toThrow('Unsupported value type');
54
54
  expect(() => toHex(null)).toThrow('Unsupported value type');
55
+ // eslint-disable-next-line unicorn/no-useless-undefined
55
56
  expect(() => toHex(undefined)).toThrow('Unsupported value type');
56
57
  });
57
58
  });
@@ -1 +1 @@
1
- {"version":3,"file":"merkle-utils.test.js","sourceRoot":"","sources":["../../../tests/utils/merkle-utils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merkle-utils.test.js","sourceRoot":"","sources":["../../../tests/utils/merkle-utils.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};