@moonwell-fi/moonwell-sdk 0.10.7 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/actions/core/markets/common.js +26 -12
  3. package/_cjs/actions/core/markets/common.js.map +1 -1
  4. package/_cjs/actions/core/markets/getMarketSnapshots.js +173 -321
  5. package/_cjs/actions/core/markets/getMarketSnapshots.js.map +1 -1
  6. package/_cjs/actions/core/user-positions/getUserPositionSnapshots.js +31 -26
  7. package/_cjs/actions/core/user-positions/getUserPositionSnapshots.js.map +1 -1
  8. package/_cjs/actions/governance/getCirculatingSupplySnapshots.js +35 -29
  9. package/_cjs/actions/governance/getCirculatingSupplySnapshots.js.map +1 -1
  10. package/_cjs/actions/governance/getStakingSnapshots.js +16 -12
  11. package/_cjs/actions/governance/getStakingSnapshots.js.map +1 -1
  12. package/_cjs/actions/governance/proposals/common.js +247 -211
  13. package/_cjs/actions/governance/proposals/common.js.map +1 -1
  14. package/_cjs/actions/lunar-indexer-client.js +32 -0
  15. package/_cjs/actions/lunar-indexer-client.js.map +1 -1
  16. package/_cjs/actions/morpho/markets/common.js +26 -29
  17. package/_cjs/actions/morpho/markets/common.js.map +1 -1
  18. package/_cjs/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js +41 -56
  19. package/_cjs/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js.map +1 -1
  20. package/_cjs/actions/morpho/vaults/common.js +7 -4
  21. package/_cjs/actions/morpho/vaults/common.js.map +1 -1
  22. package/_cjs/actions/morpho/vaults/getMorphoVaultSnapshots.js +21 -78
  23. package/_cjs/actions/morpho/vaults/getMorphoVaultSnapshots.js.map +1 -1
  24. package/_cjs/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js +13 -66
  25. package/_cjs/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js.map +1 -1
  26. package/_cjs/client/createMoonwellClient.js +9 -3
  27. package/_cjs/client/createMoonwellClient.js.map +1 -1
  28. package/_cjs/environments/definitions/arbitrum/environment.js +1 -2
  29. package/_cjs/environments/definitions/arbitrum/environment.js.map +1 -1
  30. package/_cjs/environments/definitions/avalanche/environment.js +1 -2
  31. package/_cjs/environments/definitions/avalanche/environment.js.map +1 -1
  32. package/_cjs/environments/definitions/base/custom.js +0 -1
  33. package/_cjs/environments/definitions/base/custom.js.map +1 -1
  34. package/_cjs/environments/definitions/base/environment.js +1 -2
  35. package/_cjs/environments/definitions/base/environment.js.map +1 -1
  36. package/_cjs/environments/definitions/ethereum/environment.js +1 -2
  37. package/_cjs/environments/definitions/ethereum/environment.js.map +1 -1
  38. package/_cjs/environments/definitions/moonbeam/environment.js +1 -2
  39. package/_cjs/environments/definitions/moonbeam/environment.js.map +1 -1
  40. package/_cjs/environments/definitions/optimism/custom.js +0 -1
  41. package/_cjs/environments/definitions/optimism/custom.js.map +1 -1
  42. package/_cjs/environments/definitions/optimism/environment.js +1 -2
  43. package/_cjs/environments/definitions/optimism/environment.js.map +1 -1
  44. package/_cjs/environments/definitions/polygon/environment.js +1 -2
  45. package/_cjs/environments/definitions/polygon/environment.js.map +1 -1
  46. package/_cjs/environments/index.js +8 -8
  47. package/_cjs/environments/index.js.map +1 -1
  48. package/_cjs/environments/types/config.js +1 -0
  49. package/_cjs/environments/types/config.js.map +1 -1
  50. package/_cjs/errors/version.js +1 -1
  51. package/_esm/actions/core/markets/common.js +26 -13
  52. package/_esm/actions/core/markets/common.js.map +1 -1
  53. package/_esm/actions/core/markets/getMarketSnapshots.js +194 -346
  54. package/_esm/actions/core/markets/getMarketSnapshots.js.map +1 -1
  55. package/_esm/actions/core/user-positions/getUserPositionSnapshots.js +32 -29
  56. package/_esm/actions/core/user-positions/getUserPositionSnapshots.js.map +1 -1
  57. package/_esm/actions/governance/getCirculatingSupplySnapshots.js +35 -30
  58. package/_esm/actions/governance/getCirculatingSupplySnapshots.js.map +1 -1
  59. package/_esm/actions/governance/getStakingSnapshots.js +17 -13
  60. package/_esm/actions/governance/getStakingSnapshots.js.map +1 -1
  61. package/_esm/actions/governance/proposals/common.js +246 -216
  62. package/_esm/actions/governance/proposals/common.js.map +1 -1
  63. package/_esm/actions/lunar-indexer-client.js +35 -0
  64. package/_esm/actions/lunar-indexer-client.js.map +1 -1
  65. package/_esm/actions/morpho/markets/common.js +27 -34
  66. package/_esm/actions/morpho/markets/common.js.map +1 -1
  67. package/_esm/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js +42 -54
  68. package/_esm/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.js.map +1 -1
  69. package/_esm/actions/morpho/vaults/common.js +7 -4
  70. package/_esm/actions/morpho/vaults/common.js.map +1 -1
  71. package/_esm/actions/morpho/vaults/getMorphoVaultSnapshots.js +24 -78
  72. package/_esm/actions/morpho/vaults/getMorphoVaultSnapshots.js.map +1 -1
  73. package/_esm/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js +15 -65
  74. package/_esm/actions/morpho/vaults/getMorphoVaultStakingSnapshots.js.map +1 -1
  75. package/_esm/client/createMoonwellClient.js +9 -3
  76. package/_esm/client/createMoonwellClient.js.map +1 -1
  77. package/_esm/environments/definitions/arbitrum/environment.js +1 -2
  78. package/_esm/environments/definitions/arbitrum/environment.js.map +1 -1
  79. package/_esm/environments/definitions/avalanche/environment.js +1 -2
  80. package/_esm/environments/definitions/avalanche/environment.js.map +1 -1
  81. package/_esm/environments/definitions/base/custom.js +0 -1
  82. package/_esm/environments/definitions/base/custom.js.map +1 -1
  83. package/_esm/environments/definitions/base/environment.js +1 -2
  84. package/_esm/environments/definitions/base/environment.js.map +1 -1
  85. package/_esm/environments/definitions/ethereum/environment.js +1 -2
  86. package/_esm/environments/definitions/ethereum/environment.js.map +1 -1
  87. package/_esm/environments/definitions/moonbeam/environment.js +1 -2
  88. package/_esm/environments/definitions/moonbeam/environment.js.map +1 -1
  89. package/_esm/environments/definitions/optimism/custom.js +0 -1
  90. package/_esm/environments/definitions/optimism/custom.js.map +1 -1
  91. package/_esm/environments/definitions/optimism/environment.js +1 -2
  92. package/_esm/environments/definitions/optimism/environment.js.map +1 -1
  93. package/_esm/environments/definitions/polygon/environment.js +1 -2
  94. package/_esm/environments/definitions/polygon/environment.js.map +1 -1
  95. package/_esm/environments/index.js +8 -8
  96. package/_esm/environments/index.js.map +1 -1
  97. package/_esm/environments/types/config.js +1 -0
  98. package/_esm/environments/types/config.js.map +1 -1
  99. package/_esm/errors/version.js +1 -1
  100. package/_types/actions/core/markets/common.d.ts.map +1 -1
  101. package/_types/actions/core/markets/getMarketSnapshots.d.ts.map +1 -1
  102. package/_types/actions/core/user-positions/getUserPositionSnapshots.d.ts +0 -1
  103. package/_types/actions/core/user-positions/getUserPositionSnapshots.d.ts.map +1 -1
  104. package/_types/actions/governance/getCirculatingSupplySnapshots.d.ts.map +1 -1
  105. package/_types/actions/governance/getStakingSnapshots.d.ts.map +1 -1
  106. package/_types/actions/governance/proposals/common.d.ts +2 -8
  107. package/_types/actions/governance/proposals/common.d.ts.map +1 -1
  108. package/_types/actions/lunar-indexer-client.d.ts +26 -0
  109. package/_types/actions/lunar-indexer-client.d.ts.map +1 -1
  110. package/_types/actions/morpho/markets/common.d.ts.map +1 -1
  111. package/_types/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.d.ts +9 -3
  112. package/_types/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.d.ts.map +1 -1
  113. package/_types/actions/morpho/vaults/common.d.ts.map +1 -1
  114. package/_types/actions/morpho/vaults/getMorphoVaultSnapshots.d.ts.map +1 -1
  115. package/_types/actions/morpho/vaults/getMorphoVaultStakingSnapshots.d.ts.map +1 -1
  116. package/_types/client/createMoonwellClient.d.ts +4 -4
  117. package/_types/client/createMoonwellClient.d.ts.map +1 -1
  118. package/_types/environments/definitions/arbitrum/environment.d.ts +1 -1
  119. package/_types/environments/definitions/arbitrum/environment.d.ts.map +1 -1
  120. package/_types/environments/definitions/avalanche/environment.d.ts +1 -1
  121. package/_types/environments/definitions/avalanche/environment.d.ts.map +1 -1
  122. package/_types/environments/definitions/base/custom.d.ts +0 -1
  123. package/_types/environments/definitions/base/custom.d.ts.map +1 -1
  124. package/_types/environments/definitions/base/environment.d.ts +1 -1
  125. package/_types/environments/definitions/base/environment.d.ts.map +1 -1
  126. package/_types/environments/definitions/ethereum/environment.d.ts +1 -1
  127. package/_types/environments/definitions/ethereum/environment.d.ts.map +1 -1
  128. package/_types/environments/definitions/moonbeam/environment.d.ts +1 -1
  129. package/_types/environments/definitions/moonbeam/environment.d.ts.map +1 -1
  130. package/_types/environments/definitions/optimism/custom.d.ts +0 -1
  131. package/_types/environments/definitions/optimism/custom.d.ts.map +1 -1
  132. package/_types/environments/definitions/optimism/environment.d.ts +1 -2
  133. package/_types/environments/definitions/optimism/environment.d.ts.map +1 -1
  134. package/_types/environments/definitions/polygon/environment.d.ts +1 -1
  135. package/_types/environments/definitions/polygon/environment.d.ts.map +1 -1
  136. package/_types/environments/index.d.ts +0 -3
  137. package/_types/environments/index.d.ts.map +1 -1
  138. package/_types/environments/types/config.d.ts +10 -3
  139. package/_types/environments/types/config.d.ts.map +1 -1
  140. package/_types/errors/version.d.ts +1 -1
  141. package/actions/core/markets/common.ts +33 -18
  142. package/actions/core/markets/getMarketSnapshots.ts +261 -511
  143. package/actions/core/user-positions/getUserPositionSnapshots.ts +44 -46
  144. package/actions/governance/getCirculatingSupplySnapshots.ts +43 -35
  145. package/actions/governance/getStakingSnapshots.ts +32 -29
  146. package/actions/governance/proposals/common.ts +369 -330
  147. package/actions/lunar-indexer-client.ts +64 -0
  148. package/actions/morpho/markets/common.ts +32 -43
  149. package/actions/morpho/user-positions/getMorphoVaultUserPositionSnapshots.ts +76 -87
  150. package/actions/morpho/vaults/common.ts +7 -6
  151. package/actions/morpho/vaults/getMorphoVaultSnapshots.ts +36 -120
  152. package/actions/morpho/vaults/getMorphoVaultStakingSnapshots.ts +24 -111
  153. package/client/createMoonwellClient.ts +17 -5
  154. package/environments/definitions/arbitrum/environment.ts +0 -2
  155. package/environments/definitions/avalanche/environment.ts +0 -2
  156. package/environments/definitions/base/custom.ts +0 -1
  157. package/environments/definitions/base/environment.ts +0 -2
  158. package/environments/definitions/ethereum/environment.ts +0 -2
  159. package/environments/definitions/moonbeam/environment.ts +0 -2
  160. package/environments/definitions/optimism/custom.ts +0 -1
  161. package/environments/definitions/optimism/environment.ts +0 -2
  162. package/environments/definitions/polygon/environment.ts +0 -2
  163. package/environments/index.ts +6 -27
  164. package/environments/types/config.ts +11 -3
  165. package/errors/version.ts +1 -1
  166. package/package.json +1 -1
@@ -24,16 +24,16 @@ export const getMarketsData = async (environment: Environment) => {
24
24
 
25
25
  if (environment.lunarIndexerUrl && !isMoonriver) {
26
26
  try {
27
- const result = await fetchMarketsFromLunar(environment);
28
- return result;
27
+ return await fetchMarketsFromLunar(environment);
29
28
  } catch (error) {
30
- // Import shouldFallback dynamically
31
- const { shouldFallback } = await import("../../lunar-indexer-client.js");
32
-
33
- if (!shouldFallback(error)) {
34
- throw error;
35
- }
36
- console.debug("[Lunar fallback] Falling back to RPC/Ponder:", error);
29
+ console.warn(
30
+ `[getMarketsData] Lunar Indexer failed for chain ${environment.chainId}, falling back to on-chain:`,
31
+ error,
32
+ );
33
+ environment.onError?.(error, {
34
+ source: "markets",
35
+ chainId: environment.chainId,
36
+ });
37
37
  }
38
38
  }
39
39
 
@@ -66,12 +66,14 @@ export const getMarketsData = async (environment: Environment) => {
66
66
  allMarketsInfoResult.reason,
67
67
  );
68
68
  const seizePaused =
69
- protocolInfoResult.status === "fulfilled"
70
- ? protocolInfoResult.value!.seizePaused
69
+ protocolInfoResult.status === "fulfilled" &&
70
+ protocolInfoResult.value !== undefined
71
+ ? protocolInfoResult.value.seizePaused
71
72
  : false;
72
73
  const transferPaused =
73
- protocolInfoResult.status === "fulfilled"
74
- ? protocolInfoResult.value!.transferPaused
74
+ protocolInfoResult.status === "fulfilled" &&
75
+ protocolInfoResult.value !== undefined
76
+ ? protocolInfoResult.value.transferPaused
75
77
  : false;
76
78
  return await getMarketsFromMTokenFallback(
77
79
  environment,
@@ -81,14 +83,27 @@ export const getMarketsData = async (environment: Environment) => {
81
83
  }
82
84
 
83
85
  const { seizePaused, transferPaused } =
84
- protocolInfoResult.status === "fulfilled"
85
- ? protocolInfoResult.value!
86
+ protocolInfoResult.status === "fulfilled" &&
87
+ protocolInfoResult.value !== undefined
88
+ ? protocolInfoResult.value
86
89
  : { seizePaused: false, transferPaused: false };
87
- const allMarketsInfo = allMarketsInfoResult.value!;
90
+ const allMarketsInfo = allMarketsInfoResult.value;
91
+ if (!allMarketsInfo) {
92
+ environment.onError?.(new Error("getAllMarketsInfo returned undefined"), {
93
+ source: "markets-onchain-missing-views",
94
+ chainId: environment.chainId,
95
+ });
96
+ return [];
97
+ }
88
98
  const nativeTokenPriceRaw =
89
- nativePriceResult.status === "fulfilled" ? nativePriceResult.value! : 0n;
99
+ nativePriceResult.status === "fulfilled" &&
100
+ nativePriceResult.value !== undefined
101
+ ? nativePriceResult.value
102
+ : 0n;
90
103
  const governanceTokenPriceRaw =
91
- govPriceResult.status === "fulfilled" ? govPriceResult.value! : 0n;
104
+ govPriceResult.status === "fulfilled" && govPriceResult.value !== undefined
105
+ ? govPriceResult.value
106
+ : 0n;
92
107
 
93
108
  const governanceTokenPrice = new Amount(governanceTokenPriceRaw, 18);
94
109
  const nativeTokenPrice = new Amount(nativeTokenPriceRaw, 18);