@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
@@ -4,8 +4,8 @@ import { moonriver } from "viem/chains";
4
4
  import { Amount } from "../../../common/index.js";
5
5
  import { publicEnvironments } from "../../../environments/index.js";
6
6
  import { MultichainProposalStateMapping, } from "../../../types/proposal.js";
7
- axios.defaults.timeout = 5_000;
8
7
  export const WORMHOLE_CONTRACT = "0xc8e2b0cd52cf01b0ce87d389daa3d414d4ce29f3";
8
+ axios.defaults.timeout = 5_000;
9
9
  /**
10
10
  * Extract proposal subtitle from description
11
11
  */
@@ -195,181 +195,60 @@ export const getProposalsOnChainData = async (apiProposals, governanceEnvironmen
195
195
  votesCollected: votesCollectedList[index] ?? false,
196
196
  }));
197
197
  };
198
- /**
199
- * Append extended proposal data (Ponder-based, for Moonriver)
200
- */
201
- export const appendProposalExtendedData = (proposals, extendedDatas) => {
202
- proposals.forEach((proposal) => {
203
- const extendedData = extendedDatas.find((item) => item.id === proposal.proposalId);
204
- if (extendedData) {
205
- proposal.title = extendedData.title;
206
- proposal.calldatas = extendedData.calldatas;
207
- proposal.description = extendedData.description;
208
- proposal.signatures = extendedData.signatures;
209
- proposal.stateChanges = extendedData.stateChanges.map((change) => ({
210
- blockNumber: change.blockNumber,
211
- transactionHash: change.transactionHash,
212
- state: change.state,
213
- chainId: proposal.chainId,
214
- }));
215
- proposal.subtitle = extendedData.subtitle;
216
- proposal.targets = extendedData.targets;
217
- }
218
- });
219
- };
220
198
  /**
221
199
  * Get proposal data from on-chain (Ponder-based, for Moonriver)
222
200
  */
223
201
  export const getProposalData = async (params) => {
224
- if (params.environment.contracts.governor) {
225
- let count = 0n;
226
- let quorum = 0n;
227
- if (params.environment.chainId === moonriver.id) {
228
- [count, quorum] = await Promise.all([
229
- params.environment.contracts.governor.read.proposalCount(),
230
- params.environment.contracts.governor.read.getQuorum(),
231
- ]);
232
- }
233
- else {
234
- [count, quorum] = await Promise.all([
235
- params.environment.contracts.governor.read.proposalCount(),
236
- params.environment.contracts.governor.read.quorumVotes(),
237
- ]);
238
- }
239
- if (params.id) {
240
- if (BigInt(params.id) > count) {
241
- return [];
202
+ try {
203
+ if (params.environment.contracts.governor) {
204
+ let count = 0n;
205
+ let quorum = 0n;
206
+ if (params.environment.chainId === moonriver.id) {
207
+ [count, quorum] = await Promise.all([
208
+ params.environment.contracts.governor.read.proposalCount(),
209
+ params.environment.contracts.governor.read.getQuorum(),
210
+ ]);
211
+ }
212
+ else {
213
+ [count, quorum] = await Promise.all([
214
+ params.environment.contracts.governor.read.proposalCount(),
215
+ params.environment.contracts.governor.read.quorumVotes(),
216
+ ]);
242
217
  }
243
- }
244
- const ids = params.id
245
- ? [BigInt(params.id)]
246
- : Array.from({ length: Number(count) }, (_, i) => count - BigInt(i));
247
- const proposalDataCall = Promise.all(ids.map((id) => params.environment.contracts.governor?.read.proposals([id])));
248
- const proposalStateCall = Promise.all(ids.map((id) => params.environment.contracts.governor?.read.state([id])));
249
- const [proposalsData, proposalsState] = await Promise.all([
250
- proposalDataCall,
251
- proposalStateCall,
252
- ]);
253
- const proposals = proposalsData?.map((item, index) => {
254
- const state = proposalsState?.[index];
255
- const [id, proposer, eta, startTimestamp, endTimestamp, startBlock, forVotes, againstVotes, abstainVotes, totalVotes, canceled, executed,] = item;
256
- const proposal = {
257
- chainId: params.environment.chainId,
258
- id: Number(id),
259
- proposalId: Number(id),
260
- proposer,
261
- eta: Number(eta),
262
- startTimestamp: Number(startTimestamp),
263
- endTimestamp: Number(endTimestamp),
264
- startBlock: Number(startBlock),
265
- forVotes: new Amount(forVotes, 18),
266
- againstVotes: new Amount(againstVotes, 18),
267
- abstainVotes: new Amount(abstainVotes, 18),
268
- totalVotes: new Amount(totalVotes, 18),
269
- canceled,
270
- executed,
271
- quorum: new Amount(quorum, 18),
272
- state,
273
- };
274
- return proposal;
275
- });
276
- return proposals;
277
- }
278
- else {
279
- return [];
280
- }
281
- };
282
- /**
283
- * Get cross-chain proposal data (Ponder-based, for Moonriver)
284
- */
285
- export const getCrossChainProposalData = async (params) => {
286
- if (params.environment.contracts.governor) {
287
- const xcGovernanceSettings = params.environment.custom.governance;
288
- if (params.environment.contracts.multichainGovernor &&
289
- xcGovernanceSettings &&
290
- xcGovernanceSettings.chainIds.length > 0) {
291
- const xcEnvironments = xcGovernanceSettings.chainIds
292
- .map((chainId) => Object.values(publicEnvironments).find((env) => env.chainId === chainId))
293
- .filter((xcEnvironment) => !!xcEnvironment)
294
- .filter((xcEnvironment) => xcEnvironment.custom?.wormhole?.chainId &&
295
- xcEnvironment.contracts.voteCollector);
296
- const [xcCount, xcQuorum] = await Promise.all([
297
- params.environment.contracts.multichainGovernor.read.proposalCount(),
298
- params.environment.contracts.multichainGovernor.read.quorum(),
299
- ]);
300
218
  if (params.id) {
301
- params.id =
302
- Number(params.id) -
303
- (params.environment.custom?.governance?.proposalIdOffset || 0);
304
- if (params.id < 0) {
219
+ if (BigInt(params.id) > count) {
305
220
  return [];
306
221
  }
307
- else {
308
- if (BigInt(params.id) > xcCount) {
309
- return [];
310
- }
311
- }
312
222
  }
313
223
  const ids = params.id
314
224
  ? [BigInt(params.id)]
315
- : Array.from({ length: Number(xcCount) }, (_, i) => xcCount - BigInt(i));
316
- const xcProposalsDataCall = Promise.all(ids.map((id) => params.environment.contracts.multichainGovernor?.read.proposals([id])));
317
- const xcProposalsStateCall = Promise.all(ids.map((id) => params.environment.contracts.multichainGovernor?.read.state([id])));
318
- const xcVotesCall = Promise.all(xcEnvironments.map((xcEnvironment) => Promise.all(ids.map((id) => params.environment.contracts.multichainGovernor?.read.chainVoteCollectorVotes([xcEnvironment.custom.wormhole.chainId, id])))));
319
- const [xcProposalsData, xcProposalsState, xcVotes] = await Promise.all([
320
- xcProposalsDataCall,
321
- xcProposalsStateCall,
322
- xcVotesCall,
225
+ : Array.from({ length: Number(count) }, (_, i) => count - BigInt(i));
226
+ const proposalDataCall = Promise.all(ids.map((id) => params.environment.contracts.governor?.read.proposals([id])));
227
+ const proposalStateCall = Promise.all(ids.map((id) => params.environment.contracts.governor?.read.state([id])));
228
+ const [proposalsData, proposalsState] = await Promise.all([
229
+ proposalDataCall,
230
+ proposalStateCall,
323
231
  ]);
324
- const proposals = ids.map((xcId, proposalIndex) => {
325
- const state = xcProposalsState?.[proposalIndex];
326
- const id = Number(xcId) +
327
- (params.environment.custom?.governance?.proposalIdOffset || 0);
328
- const votesCollected = false;
329
- const votes = xcVotes.reduce((prevVotes, currVotes) => {
330
- const voteData = currVotes[proposalIndex];
331
- if (!voteData) {
332
- return prevVotes;
333
- }
334
- // chainVoteCollectorVotes returns [forVotes, againstVotes, abstainVotes]
335
- const forVotes = voteData[0] || 0n;
336
- const againstVotes = voteData[1] || 0n;
337
- const abstainVotes = voteData[2] || 0n;
338
- const totalVotes = forVotes + againstVotes + abstainVotes;
339
- return {
340
- totalVotes: prevVotes.totalVotes + totalVotes,
341
- forVotes: prevVotes.forVotes + forVotes,
342
- againstVotes: prevVotes.againstVotes + againstVotes,
343
- abstainVotes: prevVotes.abstainVotes + abstainVotes,
344
- };
345
- }, { totalVotes: 0n, forVotes: 0n, againstVotes: 0n, abstainVotes: 0n });
346
- const proposalData = xcProposalsData?.[proposalIndex];
347
- if (!proposalData) {
348
- throw new Error(`Proposal data not found for index ${proposalIndex}`);
349
- }
350
- const [proposer, _voteSnapshotTimestamp, votingStartTime, votingEndTime, crossChainVoteCollectionEndTimestamp, voteSnapshotBlock, proposalForVotes, proposalAgainstVotes, proposalAbstainVotes, proposalTotalVotes, canceled, executed,] = proposalData;
351
- const multichainState = MultichainProposalStateMapping[state];
232
+ const proposals = proposalsData?.map((item, index) => {
233
+ const state = proposalsState?.[index];
234
+ const [id, proposer, eta, startTimestamp, endTimestamp, startBlock, forVotes, againstVotes, abstainVotes, totalVotes, canceled, executed,] = item;
352
235
  const proposal = {
353
236
  chainId: params.environment.chainId,
354
- id,
355
- proposalId: Number(xcId),
237
+ id: Number(id),
238
+ proposalId: Number(id),
356
239
  proposer,
357
- eta: Number(crossChainVoteCollectionEndTimestamp),
358
- startTimestamp: Number(votingStartTime),
359
- endTimestamp: Number(votingEndTime),
360
- startBlock: Number(voteSnapshotBlock),
361
- forVotes: new Amount(proposalForVotes + votes.forVotes, 18),
362
- againstVotes: new Amount(proposalAgainstVotes + votes.againstVotes, 18),
363
- abstainVotes: new Amount(proposalAbstainVotes + votes.abstainVotes, 18),
364
- totalVotes: new Amount(proposalTotalVotes + votes.totalVotes, 18),
240
+ eta: Number(eta),
241
+ startTimestamp: Number(startTimestamp),
242
+ endTimestamp: Number(endTimestamp),
243
+ startBlock: Number(startBlock),
244
+ forVotes: new Amount(forVotes, 18),
245
+ againstVotes: new Amount(againstVotes, 18),
246
+ abstainVotes: new Amount(abstainVotes, 18),
247
+ totalVotes: new Amount(totalVotes, 18),
365
248
  canceled,
366
249
  executed,
367
- quorum: new Amount(xcQuorum, 18),
368
- state: multichainState,
369
- multichain: {
370
- id: Number(xcId),
371
- votesCollected,
372
- },
250
+ quorum: new Amount(quorum, 18),
251
+ state,
373
252
  };
374
253
  return proposal;
375
254
  });
@@ -379,81 +258,232 @@ export const getCrossChainProposalData = async (params) => {
379
258
  return [];
380
259
  }
381
260
  }
382
- else {
261
+ catch (error) {
262
+ console.warn(`[getProposalData] RPC failed for chain ${params.environment.chainId}:`, error);
263
+ params.environment.onError?.(error, {
264
+ source: "governance-proposals",
265
+ chainId: params.environment.chainId,
266
+ });
383
267
  return [];
384
268
  }
385
269
  };
386
270
  /**
387
- * Get extended proposal data from Ponder (for Moonriver)
271
+ * Get cross-chain proposal data (Ponder-based, for Moonriver)
388
272
  */
273
+ export const getCrossChainProposalData = async (params) => {
274
+ try {
275
+ if (params.environment.contracts.governor) {
276
+ const xcGovernanceSettings = params.environment.custom.governance;
277
+ if (params.environment.contracts.multichainGovernor &&
278
+ xcGovernanceSettings &&
279
+ xcGovernanceSettings.chainIds.length > 0) {
280
+ const xcEnvironments = xcGovernanceSettings.chainIds
281
+ .map((chainId) => Object.values(publicEnvironments).find((env) => env.chainId === chainId))
282
+ .filter((xcEnvironment) => !!xcEnvironment)
283
+ .filter((xcEnvironment) => xcEnvironment.custom?.wormhole?.chainId &&
284
+ xcEnvironment.contracts.voteCollector);
285
+ const [xcCount, xcQuorum] = await Promise.all([
286
+ params.environment.contracts.multichainGovernor.read.proposalCount(),
287
+ params.environment.contracts.multichainGovernor.read.quorum(),
288
+ ]);
289
+ if (params.id) {
290
+ params.id =
291
+ Number(params.id) -
292
+ (params.environment.custom?.governance?.proposalIdOffset || 0);
293
+ if (params.id < 0)
294
+ return [];
295
+ if (BigInt(params.id) > xcCount)
296
+ return [];
297
+ }
298
+ const ids = params.id
299
+ ? [BigInt(params.id)]
300
+ : Array.from({ length: Number(xcCount) }, (_, i) => xcCount - BigInt(i));
301
+ const xcProposalsDataCall = Promise.all(ids.map((id) => params.environment.contracts.multichainGovernor?.read.proposals([
302
+ id,
303
+ ])));
304
+ const xcProposalsStateCall = Promise.all(ids.map((id) => params.environment.contracts.multichainGovernor?.read.state([id])));
305
+ const xcVotesCall = Promise.all(xcEnvironments.map((xcEnvironment) => Promise.all(ids.map((id) => params.environment.contracts.multichainGovernor?.read.chainVoteCollectorVotes([xcEnvironment.custom.wormhole.chainId, id])))));
306
+ const [xcProposalsData, xcProposalsState, xcVotes] = await Promise.all([
307
+ xcProposalsDataCall,
308
+ xcProposalsStateCall,
309
+ xcVotesCall,
310
+ ]);
311
+ const proposals = ids.map((xcId, proposalIndex) => {
312
+ const state = xcProposalsState?.[proposalIndex];
313
+ const id = Number(xcId) +
314
+ (params.environment.custom?.governance?.proposalIdOffset || 0);
315
+ const votesCollected = false;
316
+ const votes = xcVotes.reduce((prevVotes, currVotes) => {
317
+ const voteData = currVotes[proposalIndex];
318
+ if (!voteData) {
319
+ return prevVotes;
320
+ }
321
+ // chainVoteCollectorVotes returns [forVotes, againstVotes, abstainVotes]
322
+ const forVotes = voteData[0] || 0n;
323
+ const againstVotes = voteData[1] || 0n;
324
+ const abstainVotes = voteData[2] || 0n;
325
+ const totalVotes = forVotes + againstVotes + abstainVotes;
326
+ return {
327
+ totalVotes: prevVotes.totalVotes + totalVotes,
328
+ forVotes: prevVotes.forVotes + forVotes,
329
+ againstVotes: prevVotes.againstVotes + againstVotes,
330
+ abstainVotes: prevVotes.abstainVotes + abstainVotes,
331
+ };
332
+ }, {
333
+ totalVotes: 0n,
334
+ forVotes: 0n,
335
+ againstVotes: 0n,
336
+ abstainVotes: 0n,
337
+ });
338
+ const proposalData = xcProposalsData?.[proposalIndex];
339
+ if (!proposalData) {
340
+ throw new Error(`Proposal data not found for index ${proposalIndex}`);
341
+ }
342
+ const [proposer, _voteSnapshotTimestamp, votingStartTime, votingEndTime, crossChainVoteCollectionEndTimestamp, voteSnapshotBlock, proposalForVotes, proposalAgainstVotes, proposalAbstainVotes, proposalTotalVotes, canceled, executed,] = proposalData;
343
+ const multichainState = MultichainProposalStateMapping[state];
344
+ const proposal = {
345
+ chainId: params.environment.chainId,
346
+ id,
347
+ proposalId: Number(xcId),
348
+ proposer,
349
+ eta: Number(crossChainVoteCollectionEndTimestamp),
350
+ startTimestamp: Number(votingStartTime),
351
+ endTimestamp: Number(votingEndTime),
352
+ startBlock: Number(voteSnapshotBlock),
353
+ forVotes: new Amount(proposalForVotes + votes.forVotes, 18),
354
+ againstVotes: new Amount(proposalAgainstVotes + votes.againstVotes, 18),
355
+ abstainVotes: new Amount(proposalAbstainVotes + votes.abstainVotes, 18),
356
+ totalVotes: new Amount(proposalTotalVotes + votes.totalVotes, 18),
357
+ canceled,
358
+ executed,
359
+ quorum: new Amount(xcQuorum, 18),
360
+ state: multichainState,
361
+ multichain: {
362
+ id: Number(xcId),
363
+ votesCollected,
364
+ },
365
+ };
366
+ return proposal;
367
+ });
368
+ return proposals;
369
+ }
370
+ else {
371
+ return [];
372
+ }
373
+ }
374
+ else {
375
+ return [];
376
+ }
377
+ }
378
+ catch (error) {
379
+ console.warn(`[getCrossChainProposalData] RPC failed for chain ${params.environment.chainId}:`, error);
380
+ params.environment.onError?.(error, {
381
+ source: "governance-proposals",
382
+ chainId: params.environment.chainId,
383
+ });
384
+ return [];
385
+ }
386
+ };
387
+ export const appendProposalExtendedData = (proposals, extendedDatas) => {
388
+ proposals.forEach((proposal) => {
389
+ const extendedData = extendedDatas.find((item) => item.id === proposal.proposalId);
390
+ if (extendedData) {
391
+ proposal.title = extendedData.title;
392
+ proposal.calldatas = extendedData.calldatas;
393
+ proposal.description = extendedData.description;
394
+ proposal.signatures = extendedData.signatures;
395
+ proposal.stateChanges = extendedData.stateChanges.map((change) => ({
396
+ blockNumber: change.blockNumber,
397
+ transactionHash: change.transactionHash,
398
+ state: change.state,
399
+ chainId: proposal.chainId,
400
+ }));
401
+ proposal.subtitle = extendedData.subtitle;
402
+ proposal.targets = extendedData.targets;
403
+ }
404
+ });
405
+ };
389
406
  export const getExtendedProposalData = async (params) => {
390
- let result = [];
407
+ const result = [];
391
408
  let lastId = -1;
392
409
  let shouldContinue = true;
393
- while (shouldContinue) {
394
- const response = await axios.post("https://ponder-eu2.moonwell.fi", {
395
- query: `
396
- query {
397
- proposals(
398
- limit: 1000,
399
- orderDirection: "desc",
400
- orderBy: "proposalId",
401
- where: {
402
- chainId: ${params.environment.chainId}
403
- ${params.id ? `, proposalId: ${params.id}` : lastId >= 0 ? `, proposalId_lt: ${lastId}` : ""}
404
- }
405
- ) {
406
- items {
407
- id
408
- proposalId
409
- description
410
- targets
411
- calldatas
412
- signatures
413
- stateChanges(orderBy: "blockNumber") {
414
- items {
415
- txnHash
416
- blockNumber
417
- newState
410
+ const MAX_PAGES = 100;
411
+ let page = 0;
412
+ try {
413
+ while (shouldContinue && page < MAX_PAGES) {
414
+ page++;
415
+ const response = await axios.post("https://ponder-eu2.moonwell.fi", {
416
+ query: `
417
+ query {
418
+ proposals(
419
+ limit: 1000,
420
+ orderDirection: "desc",
421
+ orderBy: "proposalId",
422
+ where: {
423
+ chainId: ${params.environment.chainId}
424
+ ${params.id ? `, proposalId: ${params.id}` : lastId >= 0 ? `, proposalId_lt: ${lastId}` : ""}
425
+ }
426
+ ) {
427
+ items {
428
+ id
429
+ proposalId
430
+ description
431
+ targets
432
+ calldatas
433
+ signatures
434
+ stateChanges(orderBy: "blockNumber") {
435
+ items {
436
+ txnHash
437
+ blockNumber
438
+ newState
439
+ }
418
440
  }
419
441
  }
420
442
  }
421
443
  }
422
- }
423
- `,
424
- });
425
- if (response.status === 200 && response.data?.data?.proposals) {
426
- const proposals = response.data.data.proposals.items.map((item) => {
427
- const extendedProposalData = {
428
- id: item.proposalId,
429
- title: `Proposal #${item.proposalId}`,
430
- subtitle: extractProposalSubtitle(item.description),
431
- description: item.description,
432
- calldatas: item.calldatas,
433
- signatures: item.signatures,
434
- stateChanges: item.stateChanges.items.map((change) => {
435
- return {
436
- blockNumber: change.blockNumber,
437
- state: change.newState,
438
- transactionHash: change.txnHash,
439
- };
440
- }),
441
- targets: item.targets,
442
- };
443
- return extendedProposalData;
444
+ `,
444
445
  });
445
- if (proposals.length < 1000 || proposals.length === 0) {
446
- shouldContinue = false;
446
+ if (response.status === 200 && response.data?.data?.proposals) {
447
+ const proposals = response.data.data.proposals.items.map((item) => {
448
+ const extendedProposalData = {
449
+ id: item.proposalId,
450
+ title: `Proposal #${item.proposalId}`,
451
+ subtitle: extractProposalSubtitle(item.description),
452
+ description: item.description,
453
+ calldatas: item.calldatas,
454
+ signatures: item.signatures,
455
+ stateChanges: item.stateChanges.items.map((change) => {
456
+ return {
457
+ blockNumber: change.blockNumber,
458
+ state: change.newState,
459
+ transactionHash: change.txnHash,
460
+ };
461
+ }),
462
+ targets: item.targets,
463
+ };
464
+ return extendedProposalData;
465
+ });
466
+ if (proposals.length < 1000 || proposals.length === 0) {
467
+ shouldContinue = false;
468
+ }
469
+ else {
470
+ lastId = last(proposals).id;
471
+ }
472
+ result.push(...proposals);
447
473
  }
448
474
  else {
449
- lastId = last(proposals).id;
475
+ shouldContinue = false;
450
476
  }
451
- result = result.concat(proposals);
452
- }
453
- else {
454
- shouldContinue = false;
455
477
  }
456
478
  }
479
+ catch (error) {
480
+ console.warn(`[getExtendedProposalData] Ponder failed for chain ${params.environment.chainId}:`, error);
481
+ params.environment.onError?.(error, {
482
+ source: "governance-proposals",
483
+ chainId: params.environment.chainId,
484
+ });
485
+ return result;
486
+ }
457
487
  return result;
458
488
  };
459
489
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../actions/governance/proposals/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../actions/governance/proposals/common.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,12 @@ export class LunarIndexerClient {
68
68
  writable: true,
69
69
  value: void 0
70
70
  });
71
+ Object.defineProperty(this, "vaultsClient", {
72
+ enumerable: true,
73
+ configurable: true,
74
+ writable: true,
75
+ value: void 0
76
+ });
71
77
  this.client = axios.create({
72
78
  baseURL: `${config.baseUrl}/api/v1/core`,
73
79
  timeout: config.timeout || DEFAULT_LUNAR_TIMEOUT_MS,
@@ -82,6 +88,13 @@ export class LunarIndexerClient {
82
88
  "Content-Type": "application/json",
83
89
  },
84
90
  });
91
+ this.vaultsClient = axios.create({
92
+ baseURL: `${config.baseUrl}/api/v1/vaults`,
93
+ timeout: config.timeout || DEFAULT_LUNAR_TIMEOUT_MS,
94
+ headers: {
95
+ "Content-Type": "application/json",
96
+ },
97
+ });
85
98
  }
86
99
  /**
87
100
  * Get comptroller data for a specific chain
@@ -224,6 +237,28 @@ export class LunarIndexerClient {
224
237
  throw new LunarIndexerError(`Failed to fetch staking snapshots for chain ${chainId}`, axios.isAxiosError(error) ? error.response?.status : undefined, `/snapshots/${chainId}`, error);
225
238
  }
226
239
  }
240
+ /**
241
+ * Get vault account portfolio with historical positions
242
+ */
243
+ async getVaultAccountPortfolio(accountAddress, options) {
244
+ try {
245
+ const params = {
246
+ startTime: options.startTime.toString(),
247
+ endTime: options.endTime.toString(),
248
+ };
249
+ if (options.granularity)
250
+ params.granularity = options.granularity;
251
+ if (options.chainId)
252
+ params.chainId = options.chainId.toString();
253
+ if (options.vault)
254
+ params.vault = options.vault;
255
+ const response = await this.vaultsClient.get(`/account/${accountAddress.toLowerCase()}/portfolio`, { params });
256
+ return response.data;
257
+ }
258
+ catch (error) {
259
+ throw new LunarIndexerError(`Failed to fetch vault portfolio for account ${accountAddress}`, axios.isAxiosError(error) ? error.response?.status : undefined, `/account/${accountAddress}/portfolio`, error);
260
+ }
261
+ }
227
262
  /**
228
263
  * Get vault staking snapshots for a specific chain (MetaMorpho vault staking)
229
264
  */