@moonwell-fi/moonwell-sdk 0.11.0 → 0.12.1

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 (242) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/_cjs/actions/axiosWithRetry.js +25 -0
  3. package/_cjs/actions/axiosWithRetry.js.map +1 -0
  4. package/_cjs/actions/beam/getBeamTokenLimits.js +2 -5
  5. package/_cjs/actions/beam/getBeamTokenLimits.js.map +1 -1
  6. package/_cjs/actions/beam/getBeamTokenRoutes.js +3 -6
  7. package/_cjs/actions/beam/getBeamTokenRoutes.js.map +1 -1
  8. package/_cjs/actions/core/markets/common.js +26 -12
  9. package/_cjs/actions/core/markets/common.js.map +1 -1
  10. package/_cjs/actions/core/markets/getMarketSnapshots.js +175 -326
  11. package/_cjs/actions/core/markets/getMarketSnapshots.js.map +1 -1
  12. package/_cjs/actions/core/user-positions/getUserPositionSnapshots.js +33 -31
  13. package/_cjs/actions/core/user-positions/getUserPositionSnapshots.js.map +1 -1
  14. package/_cjs/actions/governance/getCirculatingSupplySnapshots.js +38 -35
  15. package/_cjs/actions/governance/getCirculatingSupplySnapshots.js.map +1 -1
  16. package/_cjs/actions/governance/getDelegates.js +2 -5
  17. package/_cjs/actions/governance/getDelegates.js.map +1 -1
  18. package/_cjs/actions/governance/getDiscussions.js +3 -3
  19. package/_cjs/actions/governance/getDiscussions.js.map +1 -1
  20. package/_cjs/actions/governance/getStakingSnapshots.js +18 -17
  21. package/_cjs/actions/governance/getStakingSnapshots.js.map +1 -1
  22. package/_cjs/actions/governance/getUserVotingPowers.js +12 -4
  23. package/_cjs/actions/governance/getUserVotingPowers.js.map +1 -1
  24. package/_cjs/actions/governance/governor-api-client.js +10 -13
  25. package/_cjs/actions/governance/governor-api-client.js.map +1 -1
  26. package/_cjs/actions/governance/proposals/common.js +248 -211
  27. package/_cjs/actions/governance/proposals/common.js.map +1 -1
  28. package/_cjs/actions/governance/snapshot/common.js +2 -5
  29. package/_cjs/actions/governance/snapshot/common.js.map +1 -1
  30. package/_cjs/actions/lunar-indexer-client.js +4 -0
  31. package/_cjs/actions/lunar-indexer-client.js.map +1 -1
  32. package/_cjs/actions/morpho/markets/common.js +28 -34
  33. package/_cjs/actions/morpho/markets/common.js.map +1 -1
  34. package/_cjs/actions/morpho/markets/lunarIndexerTransform.js +5 -8
  35. package/_cjs/actions/morpho/markets/lunarIndexerTransform.js.map +1 -1
  36. package/_cjs/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js +12 -69
  37. package/_cjs/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js.map +1 -1
  38. package/_cjs/actions/morpho/vaults/common.js +7 -4
  39. package/_cjs/actions/morpho/vaults/common.js.map +1 -1
  40. package/_cjs/actions/morpho/vaults/getMorphoVaultSnapshots.js +21 -78
  41. package/_cjs/actions/morpho/vaults/getMorphoVaultSnapshots.js.map +1 -1
  42. package/_cjs/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js +13 -66
  43. package/_cjs/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js.map +1 -1
  44. package/_cjs/actions/retry.js +63 -0
  45. package/_cjs/actions/retry.js.map +1 -0
  46. package/_cjs/client/createMoonwellClient.js +9 -3
  47. package/_cjs/client/createMoonwellClient.js.map +1 -1
  48. package/_cjs/common/getBlockNumberAtTimestamp.js +42 -0
  49. package/_cjs/common/getBlockNumberAtTimestamp.js.map +1 -0
  50. package/_cjs/common/index.js +3 -1
  51. package/_cjs/common/index.js.map +1 -1
  52. package/_cjs/environments/definitions/arbitrum/environment.js +1 -2
  53. package/_cjs/environments/definitions/arbitrum/environment.js.map +1 -1
  54. package/_cjs/environments/definitions/avalanche/environment.js +1 -2
  55. package/_cjs/environments/definitions/avalanche/environment.js.map +1 -1
  56. package/_cjs/environments/definitions/base/custom.js +0 -1
  57. package/_cjs/environments/definitions/base/custom.js.map +1 -1
  58. package/_cjs/environments/definitions/base/environment.js +1 -2
  59. package/_cjs/environments/definitions/base/environment.js.map +1 -1
  60. package/_cjs/environments/definitions/ethereum/environment.js +1 -2
  61. package/_cjs/environments/definitions/ethereum/environment.js.map +1 -1
  62. package/_cjs/environments/definitions/moonbeam/environment.js +1 -2
  63. package/_cjs/environments/definitions/moonbeam/environment.js.map +1 -1
  64. package/_cjs/environments/definitions/optimism/custom.js +0 -1
  65. package/_cjs/environments/definitions/optimism/custom.js.map +1 -1
  66. package/_cjs/environments/definitions/optimism/environment.js +1 -2
  67. package/_cjs/environments/definitions/optimism/environment.js.map +1 -1
  68. package/_cjs/environments/definitions/polygon/environment.js +1 -2
  69. package/_cjs/environments/definitions/polygon/environment.js.map +1 -1
  70. package/_cjs/environments/index.js +8 -8
  71. package/_cjs/environments/index.js.map +1 -1
  72. package/_cjs/environments/types/config.js +1 -0
  73. package/_cjs/environments/types/config.js.map +1 -1
  74. package/_cjs/errors/version.js +1 -1
  75. package/_esm/actions/axiosWithRetry.js +32 -0
  76. package/_esm/actions/axiosWithRetry.js.map +1 -0
  77. package/_esm/actions/beam/getBeamTokenLimits.js +2 -2
  78. package/_esm/actions/beam/getBeamTokenLimits.js.map +1 -1
  79. package/_esm/actions/beam/getBeamTokenRoutes.js +3 -3
  80. package/_esm/actions/beam/getBeamTokenRoutes.js.map +1 -1
  81. package/_esm/actions/core/markets/common.js +26 -13
  82. package/_esm/actions/core/markets/common.js.map +1 -1
  83. package/_esm/actions/core/markets/getMarketSnapshots.js +196 -348
  84. package/_esm/actions/core/markets/getMarketSnapshots.js.map +1 -1
  85. package/_esm/actions/core/user-positions/getUserPositionSnapshots.js +34 -31
  86. package/_esm/actions/core/user-positions/getUserPositionSnapshots.js.map +1 -1
  87. package/_esm/actions/governance/getCirculatingSupplySnapshots.js +38 -33
  88. package/_esm/actions/governance/getCirculatingSupplySnapshots.js.map +1 -1
  89. package/_esm/actions/governance/getDelegates.js +2 -2
  90. package/_esm/actions/governance/getDelegates.js.map +1 -1
  91. package/_esm/actions/governance/getDiscussions.js +3 -3
  92. package/_esm/actions/governance/getDiscussions.js.map +1 -1
  93. package/_esm/actions/governance/getStakingSnapshots.js +19 -15
  94. package/_esm/actions/governance/getStakingSnapshots.js.map +1 -1
  95. package/_esm/actions/governance/getUserVotingPowers.js +13 -5
  96. package/_esm/actions/governance/getUserVotingPowers.js.map +1 -1
  97. package/_esm/actions/governance/governor-api-client.js +10 -10
  98. package/_esm/actions/governance/governor-api-client.js.map +1 -1
  99. package/_esm/actions/governance/proposals/common.js +247 -216
  100. package/_esm/actions/governance/proposals/common.js.map +1 -1
  101. package/_esm/actions/governance/snapshot/common.js +2 -2
  102. package/_esm/actions/governance/snapshot/common.js.map +1 -1
  103. package/_esm/actions/lunar-indexer-client.js +6 -0
  104. package/_esm/actions/lunar-indexer-client.js.map +1 -1
  105. package/_esm/actions/morpho/markets/common.js +29 -36
  106. package/_esm/actions/morpho/markets/common.js.map +1 -1
  107. package/_esm/actions/morpho/markets/lunarIndexerTransform.js +5 -5
  108. package/_esm/actions/morpho/markets/lunarIndexerTransform.js.map +1 -1
  109. package/_esm/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js +14 -68
  110. package/_esm/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js.map +1 -1
  111. package/_esm/actions/morpho/vaults/common.js +7 -4
  112. package/_esm/actions/morpho/vaults/common.js.map +1 -1
  113. package/_esm/actions/morpho/vaults/getMorphoVaultSnapshots.js +24 -78
  114. package/_esm/actions/morpho/vaults/getMorphoVaultSnapshots.js.map +1 -1
  115. package/_esm/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js +15 -65
  116. package/_esm/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js.map +1 -1
  117. package/_esm/actions/retry.js +90 -0
  118. package/_esm/actions/retry.js.map +1 -0
  119. package/_esm/client/createMoonwellClient.js +9 -3
  120. package/_esm/client/createMoonwellClient.js.map +1 -1
  121. package/_esm/common/getBlockNumberAtTimestamp.js +56 -0
  122. package/_esm/common/getBlockNumberAtTimestamp.js.map +1 -0
  123. package/_esm/common/index.js +1 -0
  124. package/_esm/common/index.js.map +1 -1
  125. package/_esm/environments/definitions/arbitrum/environment.js +1 -2
  126. package/_esm/environments/definitions/arbitrum/environment.js.map +1 -1
  127. package/_esm/environments/definitions/avalanche/environment.js +1 -2
  128. package/_esm/environments/definitions/avalanche/environment.js.map +1 -1
  129. package/_esm/environments/definitions/base/custom.js +0 -1
  130. package/_esm/environments/definitions/base/custom.js.map +1 -1
  131. package/_esm/environments/definitions/base/environment.js +1 -2
  132. package/_esm/environments/definitions/base/environment.js.map +1 -1
  133. package/_esm/environments/definitions/ethereum/environment.js +1 -2
  134. package/_esm/environments/definitions/ethereum/environment.js.map +1 -1
  135. package/_esm/environments/definitions/moonbeam/environment.js +1 -2
  136. package/_esm/environments/definitions/moonbeam/environment.js.map +1 -1
  137. package/_esm/environments/definitions/optimism/custom.js +0 -1
  138. package/_esm/environments/definitions/optimism/custom.js.map +1 -1
  139. package/_esm/environments/definitions/optimism/environment.js +1 -2
  140. package/_esm/environments/definitions/optimism/environment.js.map +1 -1
  141. package/_esm/environments/definitions/polygon/environment.js +1 -2
  142. package/_esm/environments/definitions/polygon/environment.js.map +1 -1
  143. package/_esm/environments/index.js +8 -8
  144. package/_esm/environments/index.js.map +1 -1
  145. package/_esm/environments/types/config.js +1 -0
  146. package/_esm/environments/types/config.js.map +1 -1
  147. package/_esm/errors/version.js +1 -1
  148. package/_types/actions/axiosWithRetry.d.ts +16 -0
  149. package/_types/actions/axiosWithRetry.d.ts.map +1 -0
  150. package/_types/actions/beam/getBeamTokenLimits.d.ts.map +1 -1
  151. package/_types/actions/beam/getBeamTokenRoutes.d.ts.map +1 -1
  152. package/_types/actions/core/markets/common.d.ts.map +1 -1
  153. package/_types/actions/core/markets/getMarketSnapshots.d.ts.map +1 -1
  154. package/_types/actions/core/user-positions/getUserPositionSnapshots.d.ts +0 -1
  155. package/_types/actions/core/user-positions/getUserPositionSnapshots.d.ts.map +1 -1
  156. package/_types/actions/governance/getCirculatingSupplySnapshots.d.ts.map +1 -1
  157. package/_types/actions/governance/getDelegates.d.ts.map +1 -1
  158. package/_types/actions/governance/getDiscussions.d.ts.map +1 -1
  159. package/_types/actions/governance/getStakingSnapshots.d.ts.map +1 -1
  160. package/_types/actions/governance/getUserVotingPowers.d.ts +13 -1
  161. package/_types/actions/governance/getUserVotingPowers.d.ts.map +1 -1
  162. package/_types/actions/governance/governor-api-client.d.ts.map +1 -1
  163. package/_types/actions/governance/proposals/common.d.ts +2 -8
  164. package/_types/actions/governance/proposals/common.d.ts.map +1 -1
  165. package/_types/actions/governance/snapshot/common.d.ts.map +1 -1
  166. package/_types/actions/lunar-indexer-client.d.ts.map +1 -1
  167. package/_types/actions/morpho/markets/common.d.ts.map +1 -1
  168. package/_types/actions/morpho/markets/lunarIndexerTransform.d.ts.map +1 -1
  169. package/_types/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.d.ts.map +1 -1
  170. package/_types/actions/morpho/vaults/common.d.ts.map +1 -1
  171. package/_types/actions/morpho/vaults/getMorphoVaultSnapshots.d.ts.map +1 -1
  172. package/_types/actions/morpho/vaults/getMorphoVaultStakingSnapshots.d.ts.map +1 -1
  173. package/_types/actions/retry.d.ts +45 -0
  174. package/_types/actions/retry.d.ts.map +1 -0
  175. package/_types/client/createMoonwellClient.d.ts +6 -6
  176. package/_types/client/createMoonwellClient.d.ts.map +1 -1
  177. package/_types/common/getBlockNumberAtTimestamp.d.ts +15 -0
  178. package/_types/common/getBlockNumberAtTimestamp.d.ts.map +1 -0
  179. package/_types/common/index.d.ts +1 -0
  180. package/_types/common/index.d.ts.map +1 -1
  181. package/_types/environments/definitions/arbitrum/environment.d.ts +1 -1
  182. package/_types/environments/definitions/arbitrum/environment.d.ts.map +1 -1
  183. package/_types/environments/definitions/avalanche/environment.d.ts +1 -1
  184. package/_types/environments/definitions/avalanche/environment.d.ts.map +1 -1
  185. package/_types/environments/definitions/base/custom.d.ts +0 -1
  186. package/_types/environments/definitions/base/custom.d.ts.map +1 -1
  187. package/_types/environments/definitions/base/environment.d.ts +22 -4
  188. package/_types/environments/definitions/base/environment.d.ts.map +1 -1
  189. package/_types/environments/definitions/ethereum/environment.d.ts +1 -1
  190. package/_types/environments/definitions/ethereum/environment.d.ts.map +1 -1
  191. package/_types/environments/definitions/moonbeam/custom.d.ts +1 -1
  192. package/_types/environments/definitions/moonbeam/environment.d.ts +2 -2
  193. package/_types/environments/definitions/moonbeam/environment.d.ts.map +1 -1
  194. package/_types/environments/definitions/optimism/custom.d.ts +0 -1
  195. package/_types/environments/definitions/optimism/custom.d.ts.map +1 -1
  196. package/_types/environments/definitions/optimism/environment.d.ts +1 -2
  197. package/_types/environments/definitions/optimism/environment.d.ts.map +1 -1
  198. package/_types/environments/definitions/polygon/environment.d.ts +1 -1
  199. package/_types/environments/definitions/polygon/environment.d.ts.map +1 -1
  200. package/_types/environments/index.d.ts +119 -23
  201. package/_types/environments/index.d.ts.map +1 -1
  202. package/_types/environments/types/config.d.ts +37 -44
  203. package/_types/environments/types/config.d.ts.map +1 -1
  204. package/_types/errors/version.d.ts +1 -1
  205. package/actions/axiosWithRetry.ts +42 -0
  206. package/actions/beam/getBeamTokenLimits.ts +2 -2
  207. package/actions/beam/getBeamTokenRoutes.ts +3 -3
  208. package/actions/core/markets/common.ts +33 -18
  209. package/actions/core/markets/getMarketSnapshots.ts +263 -513
  210. package/actions/core/user-positions/getUserPositionSnapshots.ts +46 -48
  211. package/actions/governance/getCirculatingSupplySnapshots.ts +46 -38
  212. package/actions/governance/getDelegates.ts +2 -2
  213. package/actions/governance/getDiscussions.ts +6 -5
  214. package/actions/governance/getStakingSnapshots.ts +34 -31
  215. package/actions/governance/getUserVotingPowers.ts +43 -8
  216. package/actions/governance/governor-api-client.ts +12 -10
  217. package/actions/governance/proposals/common.ts +370 -330
  218. package/actions/governance/snapshot/common.ts +2 -2
  219. package/actions/lunar-indexer-client.ts +8 -0
  220. package/actions/morpho/markets/common.ts +34 -45
  221. package/actions/morpho/markets/lunarIndexerTransform.ts +6 -5
  222. package/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.ts +20 -109
  223. package/actions/morpho/vaults/common.ts +7 -6
  224. package/actions/morpho/vaults/getMorphoVaultSnapshots.ts +36 -120
  225. package/actions/morpho/vaults/getMorphoVaultStakingSnapshots.ts +24 -111
  226. package/actions/retry.ts +121 -0
  227. package/client/createMoonwellClient.ts +17 -5
  228. package/common/getBlockNumberAtTimestamp.ts +59 -0
  229. package/common/index.ts +1 -0
  230. package/environments/definitions/arbitrum/environment.ts +0 -2
  231. package/environments/definitions/avalanche/environment.ts +0 -2
  232. package/environments/definitions/base/custom.ts +0 -1
  233. package/environments/definitions/base/environment.ts +0 -2
  234. package/environments/definitions/ethereum/environment.ts +0 -2
  235. package/environments/definitions/moonbeam/environment.ts +0 -2
  236. package/environments/definitions/optimism/custom.ts +0 -1
  237. package/environments/definitions/optimism/environment.ts +0 -2
  238. package/environments/definitions/polygon/environment.ts +0 -2
  239. package/environments/index.ts +6 -27
  240. package/environments/types/config.ts +45 -210
  241. package/errors/version.ts +1 -1
  242. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../actions/morpho/vaults/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../actions/morpho/vaults/common.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import axios from "axios";
2
- import { applyGranularity, calculateTimeRange, getEnvironmentFromArgs, isStartOfDay, toApiGranularity, } from "../../../common/index.js";
1
+ import { applyGranularity, calculateTimeRange, getEnvironmentFromArgs, toApiGranularity, } from "../../../common/index.js";
3
2
  import { fetchVaultSnapshotsFromIndexer, getV1VaultKey, transformVaultSnapshotsFromIndexer, } from "./lunarIndexerTransform.js";
4
3
  export async function getMorphoVaultSnapshots(client, args) {
5
4
  const environment = getEnvironmentFromArgs(client, args);
@@ -23,19 +22,30 @@ export async function getMorphoVaultSnapshots(client, args) {
23
22
  }
24
23
  }
25
24
  }
26
- const lunarIndexerUrl = environment.custom?.morpho?.lunarIndexerUrl;
27
- const snapshots = lunarIndexerUrl
28
- ? await fetchVaultSnapshotsFromLunarIndexer(fetchAddress, environment.chainId, lunarIndexerUrl, period, customStartTime, customEndTime)
29
- : await fetchVaultSnapshotsFromPonder(fetchAddress, environment);
30
- // Restore the originally-requested vault address on every snapshot so
31
- // callers keying by address see the V2 address they asked for.
32
- if (fetchAddress.toLowerCase() !== requestedVaultAddress.toLowerCase()) {
33
- return snapshots.map((s) => ({
34
- ...s,
35
- vaultAddress: requestedVaultAddress.toLowerCase(),
36
- }));
25
+ const lunarIndexerUrl = environment.lunarIndexerUrl;
26
+ if (!lunarIndexerUrl) {
27
+ return [];
28
+ }
29
+ try {
30
+ const snapshots = await fetchVaultSnapshotsFromLunarIndexer(fetchAddress, environment.chainId, lunarIndexerUrl, period, customStartTime, customEndTime);
31
+ // Restore the originally-requested vault address on every snapshot so
32
+ // callers keying by address see the V2 address they asked for.
33
+ if (fetchAddress.toLowerCase() !== requestedVaultAddress.toLowerCase()) {
34
+ return snapshots.map((s) => ({
35
+ ...s,
36
+ vaultAddress: requestedVaultAddress.toLowerCase(),
37
+ }));
38
+ }
39
+ return snapshots;
40
+ }
41
+ catch (error) {
42
+ console.warn(`[getMorphoVaultSnapshots] Lunar Indexer failed for chain ${environment.chainId}:`, error);
43
+ environment.onError?.(error, {
44
+ source: "morpho-vault-snapshots",
45
+ chainId: environment.chainId,
46
+ });
47
+ return [];
37
48
  }
38
- return snapshots;
39
49
  }
40
50
  async function fetchVaultSnapshotsFromLunarIndexer(vaultAddress, chainId, lunarIndexerUrl, period, customStartTime, customEndTime) {
41
51
  const vaultId = `${chainId}-${vaultAddress.toLowerCase()}`;
@@ -60,68 +70,4 @@ async function fetchVaultSnapshotsFromLunarIndexer(vaultAddress, chainId, lunarI
60
70
  allSnapshots.sort((a, b) => a.timestamp - b.timestamp);
61
71
  return applyGranularity(allSnapshots, granularity);
62
72
  }
63
- async function fetchVaultSnapshotsFromPonder(vaultAddress, environment) {
64
- const dailyData = [];
65
- let hasNextPage = true;
66
- let endCursor;
67
- while (hasNextPage) {
68
- const result = await axios.post(environment.indexerUrl, {
69
- query: `
70
- query {
71
- vaultDailySnapshots (
72
- limit: 365,
73
- orderBy: "timestamp"
74
- orderDirection: "desc"
75
- where: {vaultAddress: "${vaultAddress.toLowerCase()}", chainId: ${environment.chainId}}
76
- ${endCursor ? `after: "${endCursor}"` : ""}
77
- ) {
78
- items {
79
- totalBorrows
80
- totalBorrowsUSD
81
- totalSupplies
82
- totalSuppliesUSD
83
- totalLiquidity
84
- totalLiquidityUSD
85
- timestamp
86
- }
87
- pageInfo {
88
- hasNextPage
89
- endCursor
90
- }
91
- }
92
- }
93
- `,
94
- });
95
- if (result.data.data.vaultDailySnapshots) {
96
- dailyData.push(...result.data.data.vaultDailySnapshots.items.filter((f) => isStartOfDay(f.timestamp)));
97
- hasNextPage = result.data.data.vaultDailySnapshots.pageInfo.hasNextPage;
98
- endCursor = result.data.data.vaultDailySnapshots.pageInfo.endCursor;
99
- }
100
- }
101
- if (dailyData.length > 0) {
102
- return dailyData.map((point) => {
103
- const supplied = Number(point.totalSupplies);
104
- const borrow = Number(point.totalBorrows);
105
- const borrowUsd = Number(point.totalBorrowsUSD);
106
- const suppliedUsd = Number(point.totalSuppliesUSD);
107
- const liquidity = Number(point.totalLiquidity);
108
- const liquidityUsd = Number(point.totalLiquidityUSD);
109
- const result = {
110
- vaultAddress: vaultAddress.toLowerCase(),
111
- chainId: environment.chainId,
112
- timestamp: point.timestamp * 1000,
113
- totalSupply: supplied,
114
- totalSupplyUsd: suppliedUsd,
115
- totalBorrows: borrow,
116
- totalBorrowsUsd: borrowUsd,
117
- totalLiquidity: liquidity,
118
- totalLiquidityUsd: liquidityUsd,
119
- };
120
- return result;
121
- });
122
- }
123
- else {
124
- return [];
125
- }
126
- }
127
73
  //# sourceMappingURL=getMorphoVaultSnapshots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMorphoVaultSnapshots.js","sourceRoot":"","sources":["../../../../actions/morpho/vaults/getMorphoVaultSnapshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EACL,8BAA8B,EAC9B,aAAa,EACb,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AAcpC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAI3C,MAAsB,EACtB,IAA8D;IAE9D,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,EACJ,YAAY,EAAE,qBAAqB,EACnC,MAAM,EACN,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,aAAa,GACvB,GAAG,IAAkE,CAAC;IAEvE,8DAA8D;IAC9D,mFAAmF;IACnF,8EAA8E;IAC9E,+EAA+E;IAC/E,IAAI,YAAY,GAAG,qBAAqB,CAAC;IAEzC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACjE,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAClB,WAAW,CAAC,MAAM,CAAC,MAAM,CACvB,WAAW,CAAC,UAAoB,CACjC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,qBAAqB,CAAC,WAAW,EAAE,CACpE,CAAC;IAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC;QACvC,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAE/D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBACrB,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC;IAEpE,MAAM,SAAS,GAAG,eAAe;QAC/B,CAAC,CAAC,MAAM,mCAAmC,CACvC,YAAY,EACZ,WAAW,CAAC,OAAO,EACnB,eAAe,EACf,MAAM,EACN,eAAe,EACf,aAAa,CACd;QACH,CAAC,CAAC,MAAM,6BAA6B,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAEnE,sEAAsE;IACtE,+DAA+D;IAC/D,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,qBAAqB,CAAC,WAAW,EAAE,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,GAAG,CAAC;YACJ,YAAY,EAAE,qBAAqB,CAAC,WAAW,EAAE;SAClD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,YAAoB,EACpB,OAAe,EACf,eAAuB,EACvB,MAAmC,EACnC,eAAwB,EACxB,aAAsB;IAEtB,MAAM,OAAO,GAAG,GAAG,OAAO,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;IAC3D,MAAM,YAAY,GAA0B,EAAE,CAAC;IAC/C,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAC5D,MAAM,EACN,eAAe,EACf,aAAa,CACd,CAAC;IAEF,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,8BAA8B,CACnD,eAAe,EACf,OAAO,EACP;YACE,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC;YAC1C,SAAS;YACT,OAAO;YACP,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1B,CACF,CAAC;QAEF,MAAM,WAAW,GAAG,kCAAkC,CACpD,QAAQ,CAAC,OAAO,EAChB,OAAO,CACR,CAAC;QAEF,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAClC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC7B,IAAI,EAAE,CAAC;IACT,CAAC,QAAQ,MAAM,KAAK,IAAI,IAAI,IAAI,GAAG,SAAS,EAAE;IAE9C,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,YAAoB,EACpB,WAAwB;IAExB,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,SAA6B,CAAC;IAYlC,OAAO,WAAW,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAU5B,WAAW,CAAC,UAAU,EAAE;YACzB,KAAK,EAAE;;;;;;uCAM0B,YAAY,CAAC,WAAW,EAAE,eAAe,WAAW,CAAC,OAAO;gBACnF,SAAS,CAAC,CAAC,CAAC,WAAW,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;SAiB/C;SACJ,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,CACZ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAClD,CAAC,CAAwB,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CACxD,CACF,CAAC;YACF,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC;YACxE,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtE,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAErD,MAAM,MAAM,GAAwB;gBAClC,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE;gBACxC,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI;gBACjC,WAAW,EAAE,QAAQ;gBACrB,cAAc,EAAE,WAAW;gBAC3B,YAAY,EAAE,MAAM;gBACpB,eAAe,EAAE,SAAS;gBAC1B,cAAc,EAAE,SAAS;gBACzB,iBAAiB,EAAE,YAAY;aAChC,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"getMorphoVaultSnapshots.js","sourceRoot":"","sources":["../../../../actions/morpho/vaults/getMorphoVaultSnapshots.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import axios from "axios";
2
- import { applyGranularity, calculateTimeRange, getEnvironmentFromArgs, isStartOfDay, toApiGranularity, } from "../../../common/index.js";
3
- import { DEFAULT_LUNAR_TIMEOUT_MS, createLunarIndexerClient, shouldFallback, } from "../../lunar-indexer-client.js";
1
+ import { applyGranularity, calculateTimeRange, getEnvironmentFromArgs, toApiGranularity, } from "../../../common/index.js";
2
+ import { DEFAULT_LUNAR_TIMEOUT_MS, createLunarIndexerClient, } from "../../lunar-indexer-client.js";
4
3
  import { transformVaultStakingSnapshots } from "../../lunar-indexer-transformers.js";
5
4
  export async function getMorphoVaultStakingSnapshots(client, args) {
6
5
  const environment = getEnvironmentFromArgs(client, args);
@@ -9,19 +8,20 @@ export async function getMorphoVaultStakingSnapshots(client, args) {
9
8
  }
10
9
  const { vaultAddress, period, startTime: customStartTime, endTime: customEndTime, } = args;
11
10
  const { lunarIndexerUrl } = environment;
12
- if (lunarIndexerUrl) {
13
- try {
14
- return await fetchVaultStakingSnapshotsFromLunar(vaultAddress, lunarIndexerUrl, environment.chainId, period, customStartTime, customEndTime);
15
- }
16
- catch (error) {
17
- if (!shouldFallback(error)) {
18
- throw error;
19
- }
20
- console.debug("[Lunar fallback] Falling back to Ponder for vault staking snapshots:", error);
21
- }
11
+ if (!lunarIndexerUrl) {
12
+ return [];
13
+ }
14
+ try {
15
+ return await fetchVaultStakingSnapshotsFromLunar(vaultAddress, lunarIndexerUrl, environment.chainId, period, customStartTime, customEndTime);
16
+ }
17
+ catch (error) {
18
+ console.warn(`[getMorphoVaultStakingSnapshots] Lunar Indexer failed for chain ${environment.chainId}:`, error);
19
+ environment.onError?.(error, {
20
+ source: "morpho-vault-staking-snapshots",
21
+ chainId: environment.chainId,
22
+ });
23
+ return [];
22
24
  }
23
- const { startTime } = calculateTimeRange(period, customStartTime, customEndTime);
24
- return fetchVaultStakingSnapshotsFromPonder(vaultAddress, environment, startTime);
25
25
  }
26
26
  async function fetchVaultStakingSnapshotsFromLunar(vaultAddress, lunarIndexerUrl, chainId, period, customStartTime, customEndTime) {
27
27
  const lunarClient = createLunarIndexerClient({
@@ -49,54 +49,4 @@ async function fetchVaultStakingSnapshotsFromLunar(vaultAddress, lunarIndexerUrl
49
49
  allSnapshots.sort((a, b) => a.timestamp - b.timestamp);
50
50
  return applyGranularity(allSnapshots, granularity);
51
51
  }
52
- async function fetchVaultStakingSnapshotsFromPonder(vaultAddress, environment, startTime) {
53
- const dailyData = [];
54
- let hasNextPage = true;
55
- let endCursor;
56
- while (hasNextPage) {
57
- const result = await axios.post(environment.indexerUrl, {
58
- query: `
59
- query {
60
- vaultStakingDailySnapshots (
61
- limit: 365,
62
- orderBy: "timestamp"
63
- orderDirection: "desc"
64
- where: {vaultAddress: "${vaultAddress.toLowerCase()}", chainId: ${environment.chainId}}
65
- ${endCursor ? `after: "${endCursor}"` : ""}
66
- ) {
67
- items {
68
- totalStaked
69
- totalStakedUSD
70
- timestamp
71
- }
72
- pageInfo {
73
- hasNextPage
74
- endCursor
75
- }
76
- }
77
- }
78
- `,
79
- });
80
- if (result.data.data.vaultStakingDailySnapshots) {
81
- dailyData.push(...result.data.data.vaultStakingDailySnapshots.items.filter((f) => isStartOfDay(f.timestamp) &&
82
- (startTime === undefined || f.timestamp >= startTime)));
83
- hasNextPage =
84
- result.data.data.vaultStakingDailySnapshots.pageInfo.hasNextPage;
85
- endCursor =
86
- result.data.data.vaultStakingDailySnapshots.pageInfo.endCursor;
87
- }
88
- }
89
- if (dailyData.length > 0) {
90
- return dailyData.map((point) => ({
91
- vaultAddress: vaultAddress.toLowerCase(),
92
- chainId: environment.chainId,
93
- timestamp: point.timestamp * 1000,
94
- totalStaked: Number(point.totalStaked),
95
- totalStakedUsd: Number(point.totalStakedUSD),
96
- }));
97
- }
98
- else {
99
- return [];
100
- }
101
- }
102
52
  //# sourceMappingURL=getMorphoVaultStakingSnapshots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMorphoVaultStakingSnapshots.js","sourceRoot":"","sources":["../../../../actions/morpho/vaults/getMorphoVaultStakingSnapshots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getMorphoVaultStakingSnapshots.js","sourceRoot":"","sources":["../../../../actions/morpho/vaults/getMorphoVaultStakingSnapshots.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAgBrF,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAIlD,MAAsB,EACtB,IAAqE;IAErE,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,EACJ,YAAY,EACZ,MAAM,EACN,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,aAAa,GACvB,GAAG,IAAyE,CAAC;IAE9E,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC;IAExC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,mCAAmC,CAC9C,YAAY,EACZ,eAAe,EACf,WAAW,CAAC,OAAO,EACnB,MAAM,EACN,eAAe,EACf,aAAa,CACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,mEAAmE,WAAW,CAAC,OAAO,GAAG,EACzF,KAAK,CACN,CAAC;QACF,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE;YAC3B,MAAM,EAAE,gCAAgC;YACxC,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mCAAmC,CAChD,YAAoB,EACpB,eAAuB,EACvB,OAAe,EACf,MAAuB,EACvB,eAAwB,EACxB,aAAsB;IAEtB,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAC3C,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,wBAAwB;KAClC,CAAC,CAAC;IAEH,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAC5D,MAAM,EACN,eAAe,EACf,aAAa,CACd,CAAC;IAEF,MAAM,YAAY,GAAiC,EAAE,CAAC;IACtD,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,OAAO,EAAE;YACnE,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC;YAC1C,SAAS;YACT,OAAO;YACP,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE;YACxC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1B,CAAC,CAAC;QAEH,YAAY,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC7B,IAAI,EAAE,CAAC;IACT,CAAC,QAAQ,MAAM,KAAK,IAAI,IAAI,IAAI,GAAG,SAAS,EAAE;IAE9C,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Retry helpers for SDK API calls.
3
+ *
4
+ * Two consumers:
5
+ * 1. `attachRetryInterceptor` — axios response interceptor used inside
6
+ * LunarIndexerClient. One install per axios instance covers every method.
7
+ * 2. `retry` — generic wrapper for ad-hoc `axios.post(...)` callsites in
8
+ * actions that don't go through a shared axios instance.
9
+ *
10
+ * Policy:
11
+ * - 3 attempts (initial + 2 retries) by default
12
+ * - Exponential backoff: 250ms → 500ms (capped at 5s)
13
+ * - Retry only network errors / timeouts / 5xx; never retry 4xx (incl. 404 —
14
+ * retrying a deterministic "not found" wastes time and amplifies log noise)
15
+ * - After retries exhaust, the last error propagates to the caller's try/catch
16
+ * where the existing `environment.onError(...)` wiring picks it up
17
+ */
18
+ import axios, {} from "axios";
19
+ const DEFAULT_MAX_ATTEMPTS = 3;
20
+ const DEFAULT_INITIAL_DELAY_MS = 250;
21
+ const DEFAULT_MAX_DELAY_MS = 5_000;
22
+ async function sleep(ms) {
23
+ return new Promise((resolve) => setTimeout(resolve, ms));
24
+ }
25
+ function backoffDelay(attemptIndex, initialDelay, maxDelay) {
26
+ return Math.min(initialDelay * 2 ** attemptIndex, maxDelay);
27
+ }
28
+ /**
29
+ * Decide whether an error represents a transient failure worth retrying.
30
+ * - Axios network errors (no `response`) → retry (server unreachable, timeout)
31
+ * - 5xx responses → retry (server hiccup)
32
+ * - 4xx responses (incl. 404) → do NOT retry (deterministic, won't change)
33
+ * - Non-axios errors (parse errors, code bugs) → do NOT retry
34
+ */
35
+ export function isRetriableError(error) {
36
+ if (!axios.isAxiosError(error))
37
+ return false;
38
+ if (!error.response)
39
+ return true;
40
+ return error.response.status >= 500;
41
+ }
42
+ /**
43
+ * Attach a retry-on-failure interceptor to an axios instance. Every request
44
+ * made through this instance is retried up to `maxAttempts` times when the
45
+ * failure is retriable. Per-config state is tracked on a WeakMap so we don't
46
+ * pollute the public axios config shape.
47
+ */
48
+ export function attachRetryInterceptor(instance, options = {}) {
49
+ const { maxAttempts = DEFAULT_MAX_ATTEMPTS, initialDelay = DEFAULT_INITIAL_DELAY_MS, maxDelay = DEFAULT_MAX_DELAY_MS, } = options;
50
+ const attemptsByConfig = new WeakMap();
51
+ instance.interceptors.response.use((response) => response, async (error) => {
52
+ const config = error.config;
53
+ if (!config)
54
+ throw error;
55
+ if (!isRetriableError(error))
56
+ throw error;
57
+ const previousAttempts = attemptsByConfig.get(config) ?? 0;
58
+ if (previousAttempts >= maxAttempts - 1)
59
+ throw error;
60
+ attemptsByConfig.set(config, previousAttempts + 1);
61
+ await sleep(backoffDelay(previousAttempts, initialDelay, maxDelay));
62
+ return instance.request(config);
63
+ });
64
+ }
65
+ /**
66
+ * Generic wrapper for individual axios calls (e.g. raw `axios.post(...)` in
67
+ * action files that don't share a configured instance). Mirrors the
68
+ * interceptor's policy: retry transient failures, fail fast on 4xx.
69
+ */
70
+ export async function retry(fn, options = {}) {
71
+ const { maxAttempts = DEFAULT_MAX_ATTEMPTS, initialDelay = DEFAULT_INITIAL_DELAY_MS, maxDelay = DEFAULT_MAX_DELAY_MS, } = options;
72
+ let attempt = 0;
73
+ let lastError;
74
+ while (attempt < maxAttempts) {
75
+ try {
76
+ return await fn();
77
+ }
78
+ catch (error) {
79
+ lastError = error;
80
+ attempt++;
81
+ if (!isRetriableError(error))
82
+ throw error;
83
+ if (attempt >= maxAttempts)
84
+ break;
85
+ await sleep(backoffDelay(attempt - 1, initialDelay, maxDelay));
86
+ }
87
+ }
88
+ throw lastError;
89
+ }
90
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../actions/retry.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { arbitrum, avalanche, base, createEnvironment, ethereum, moonbeam, moonriver, optimism, polygon, } from "../environments/index.js";
2
2
  import { actions } from "./createActions.js";
3
3
  export const createMoonwellClient = (config) => {
4
- const environments = Object.keys(config.networks).reduce((prev, curr) => {
5
- const key = curr;
6
- const networkConfig = config.networks[key];
4
+ const environments = Object.entries(config.networks).reduce((prev, [curr, networkConfig]) => {
5
+ if (!networkConfig)
6
+ return prev;
7
7
  return {
8
8
  ...prev,
9
9
  [curr]: createEnvironment({
@@ -26,6 +26,12 @@ export const createMoonwellClient = (config) => {
26
26
  }),
27
27
  };
28
28
  }, {});
29
+ if (config.onError) {
30
+ const onError = config.onError;
31
+ for (const env of Object.values(environments)) {
32
+ env.onError = onError;
33
+ }
34
+ }
29
35
  const client = {
30
36
  environments,
31
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createMoonwellClient.js","sourceRoot":"","sources":["../../client/createMoonwellClient.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAuD7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAiB,MAEpD,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACtE,MAAM,GAAG,GAAG,IAAuB,CAAC;QACpC,MAAM,aAAa,GAAI,MAAM,CAAC,QAA4C,CACxE,GAAG,CACH,CAAC;QACH,OAAO;YACL,GAAG,IAAI;YACP,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;gBACxB,KAAK,EACH,IAAI,KAAK,MAAM;oBACb,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,IAAI,KAAK,UAAU;wBACnB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,IAAI,KAAK,UAAU;4BACnB,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,IAAI,KAAK,WAAW;gCACpB,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,IAAI,KAAK,UAAU;oCACnB,CAAC,CAAC,QAAQ;oCACV,CAAC,CAAC,IAAI,KAAK,WAAW;wCACpB,CAAC,CAAC,SAAS;wCACX,CAAC,CAAC,IAAI,KAAK,UAAU;4CACnB,CAAC,CAAC,QAAQ;4CACV,CAAC,CAAC,OAAO;gBACzB,OAAO,EAAE,aAAa,CAAC,OAAO;aAC/B,CAAC;SACH,CAAC;IACJ,CAAC,EAAE,EAAE,CAoCJ,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,YAAY;KACb,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAsB,MAAa,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC"}
1
+ {"version":3,"file":"createMoonwellClient.js","sourceRoot":"","sources":["../../client/createMoonwellClient.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAuD7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAiB,MAMpD,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CACjC,MAAM,CAAC,QAA2C,CACnD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE;QACvC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO;YACL,GAAG,IAAI;YACP,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;gBACxB,KAAK,EACH,IAAI,KAAK,MAAM;oBACb,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,IAAI,KAAK,UAAU;wBACnB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,IAAI,KAAK,UAAU;4BACnB,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,IAAI,KAAK,WAAW;gCACpB,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,IAAI,KAAK,UAAU;oCACnB,CAAC,CAAC,QAAQ;oCACV,CAAC,CAAC,IAAI,KAAK,WAAW;wCACpB,CAAC,CAAC,SAAS;wCACX,CAAC,CAAC,IAAI,KAAK,UAAU;4CACnB,CAAC,CAAC,QAAQ;4CACV,CAAC,CAAC,OAAO;gBACzB,OAAO,EAAE,aAAa,CAAC,OAAO;aAC/B,CAAC;SACH,CAAC;IACJ,CAAC,EAAE,EAAE,CAoCJ,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAC7B,YAA2C,CAC5C,EAAE,CAAC;YACF,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG;QACb,YAAY;KACb,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAsB,MAAa,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Safety cap on interpolation iterations. With near-linear `ts(block)` the search
3
+ * converges in ~3–5 reads; 8 leaves headroom for chains with variable block times
4
+ * (e.g. Moonbeam) without unbounded RPC fan-out on pathological inputs.
5
+ */
6
+ const MAX_ITERATIONS = 8;
7
+ /**
8
+ * Find the block number on a chain whose timestamp is the latest one ≤ the target unix timestamp.
9
+ *
10
+ * Uses interpolation search anchored on the latest block and block 1: each iteration
11
+ * narrows the range by reading one block and projecting the target via the slope of the
12
+ * remaining range. Converges in ~3–5 RPC calls even on chains with variable block times.
13
+ *
14
+ * Assumes block 1 exists on the chain — true for every EVM chain Moonwell supports.
15
+ *
16
+ * Returns the latest block if `targetTimestamp` is at or after the head, and block 1
17
+ * if it is before block 1's timestamp. On a chain with only block 0, returns block 0.
18
+ */
19
+ export async function getBlockNumberAtTimestamp(publicClient, targetTimestamp) {
20
+ const latest = await publicClient.getBlock({ blockTag: "latest" });
21
+ if (targetTimestamp >= latest.timestamp)
22
+ return latest.number;
23
+ if (latest.number === 0n)
24
+ return latest.number;
25
+ const first = await publicClient.getBlock({ blockNumber: 1n });
26
+ if (targetTimestamp <= first.timestamp)
27
+ return first.number;
28
+ let lo = first.number;
29
+ let loTs = first.timestamp;
30
+ let hi = latest.number;
31
+ let hiTs = latest.timestamp;
32
+ for (let i = 0; i < MAX_ITERATIONS; i += 1) {
33
+ if (hi - lo <= 1n)
34
+ break;
35
+ const tsRange = hiTs - loTs;
36
+ if (tsRange <= 0n)
37
+ break;
38
+ const offset = ((targetTimestamp - loTs) * (hi - lo)) / tsRange;
39
+ let mid = lo + offset;
40
+ if (mid <= lo)
41
+ mid = lo + 1n;
42
+ if (mid >= hi)
43
+ mid = hi - 1n;
44
+ const block = await publicClient.getBlock({ blockNumber: mid });
45
+ if (block.timestamp <= targetTimestamp) {
46
+ lo = mid;
47
+ loTs = block.timestamp;
48
+ }
49
+ else {
50
+ hi = mid;
51
+ hiTs = block.timestamp;
52
+ }
53
+ }
54
+ return lo;
55
+ }
56
+ //# sourceMappingURL=getBlockNumberAtTimestamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlockNumberAtTimestamp.js","sourceRoot":"","sources":["../../common/getBlockNumberAtTimestamp.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,YAA0B,EAC1B,eAAuB;IAEvB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,IAAI,eAAe,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAE/C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,eAAe,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAE5D,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IACtB,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACvB,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;YAAE,MAAM;QACzB,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;QAC5B,IAAI,OAAO,IAAI,EAAE;YAAE,MAAM;QAEzB,MAAM,MAAM,GAAG,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;QAChE,IAAI,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC;QACtB,IAAI,GAAG,IAAI,EAAE;YAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;QAC7B,IAAI,GAAG,IAAI,EAAE;YAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,SAAS,IAAI,eAAe,EAAE,CAAC;YACvC,EAAE,GAAG,GAAG,CAAC;YACT,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,GAAG,CAAC;YACT,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -3,6 +3,7 @@ import utc from "dayjs/plugin/utc.js";
3
3
  dayjs.extend(utc);
4
4
  export { Amount } from "./amount.js";
5
5
  export { BaseError, HttpRequestError } from "./error.js";
6
+ export { getBlockNumberAtTimestamp } from "./getBlockNumberAtTimestamp.js";
6
7
  export const SECONDS_PER_DAY = 86400;
7
8
  export const DAYS_PER_YEAR = 365;
8
9
  export const perDay = (value) => value * SECONDS_PER_DAY;