@moonwell-fi/moonwell-sdk 0.21.0 → 0.22.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 (167) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +9 -3
  3. package/_cjs/actions/beam/common.js +1 -2
  4. package/_cjs/actions/beam/common.js.map +1 -1
  5. package/_cjs/actions/core/markets/common.js +146 -96
  6. package/_cjs/actions/core/markets/common.js.map +1 -1
  7. package/_cjs/actions/governance/getDelegates.js +2 -7
  8. package/_cjs/actions/governance/getDelegates.js.map +1 -1
  9. package/_cjs/actions/governance/getGovernanceTokenInfo.js +7 -12
  10. package/_cjs/actions/governance/getGovernanceTokenInfo.js.map +1 -1
  11. package/_cjs/actions/governance/getUserVoteReceipt.js +5 -4
  12. package/_cjs/actions/governance/getUserVoteReceipt.js.map +1 -1
  13. package/_cjs/actions/governance/governor-api-client.js.map +1 -1
  14. package/_cjs/actions/governance/proposals/common.js +73 -6
  15. package/_cjs/actions/governance/proposals/common.js.map +1 -1
  16. package/_cjs/actions/governance/proposals/getProposal.js +6 -73
  17. package/_cjs/actions/governance/proposals/getProposal.js.map +1 -1
  18. package/_cjs/actions/governance/proposals/getProposals.js +12 -92
  19. package/_cjs/actions/governance/proposals/getProposals.js.map +1 -1
  20. package/_cjs/client/createMoonwellClient.js +17 -15
  21. package/_cjs/client/createMoonwellClient.js.map +1 -1
  22. package/_cjs/common/index.js +4 -4
  23. package/_cjs/common/index.js.map +1 -1
  24. package/_cjs/environments/definitions/governance.js +1 -8
  25. package/_cjs/environments/definitions/governance.js.map +1 -1
  26. package/_cjs/environments/index.js +28 -42
  27. package/_cjs/environments/index.js.map +1 -1
  28. package/_cjs/environments/types/config.js.map +1 -1
  29. package/_cjs/errors/version.js +1 -1
  30. package/_esm/actions/beam/common.js +3 -2
  31. package/_esm/actions/beam/common.js.map +1 -1
  32. package/_esm/actions/core/markets/common.js +192 -104
  33. package/_esm/actions/core/markets/common.js.map +1 -1
  34. package/_esm/actions/governance/getDelegates.js +8 -8
  35. package/_esm/actions/governance/getDelegates.js.map +1 -1
  36. package/_esm/actions/governance/getGovernanceTokenInfo.js +20 -13
  37. package/_esm/actions/governance/getGovernanceTokenInfo.js.map +1 -1
  38. package/_esm/actions/governance/getUserVoteReceipt.js +16 -5
  39. package/_esm/actions/governance/getUserVoteReceipt.js.map +1 -1
  40. package/_esm/actions/governance/governor-api-client.js +14 -5
  41. package/_esm/actions/governance/governor-api-client.js.map +1 -1
  42. package/_esm/actions/governance/proposals/common.js +122 -10
  43. package/_esm/actions/governance/proposals/common.js.map +1 -1
  44. package/_esm/actions/governance/proposals/getProposal.js +16 -93
  45. package/_esm/actions/governance/proposals/getProposal.js.map +1 -1
  46. package/_esm/actions/governance/proposals/getProposals.js +37 -132
  47. package/_esm/actions/governance/proposals/getProposals.js.map +1 -1
  48. package/_esm/client/createMoonwellClient.js +24 -16
  49. package/_esm/client/createMoonwellClient.js.map +1 -1
  50. package/_esm/common/index.js +15 -4
  51. package/_esm/common/index.js.map +1 -1
  52. package/_esm/environments/definitions/governance.js +5 -9
  53. package/_esm/environments/definitions/governance.js.map +1 -1
  54. package/_esm/environments/index.js +2 -14
  55. package/_esm/environments/index.js.map +1 -1
  56. package/_esm/environments/types/config.js.map +1 -1
  57. package/_esm/errors/version.js +1 -1
  58. package/_types/actions/beam/common.d.ts +1 -1
  59. package/_types/actions/beam/common.d.ts.map +1 -1
  60. package/_types/actions/core/markets/common.d.ts.map +1 -1
  61. package/_types/actions/governance/getGovernanceTokenInfo.d.ts.map +1 -1
  62. package/_types/actions/governance/getUserVoteReceipt.d.ts.map +1 -1
  63. package/_types/actions/governance/governor-api-client.d.ts +14 -5
  64. package/_types/actions/governance/governor-api-client.d.ts.map +1 -1
  65. package/_types/actions/governance/proposals/common.d.ts +41 -6
  66. package/_types/actions/governance/proposals/common.d.ts.map +1 -1
  67. package/_types/actions/governance/proposals/getProposal.d.ts +1 -1
  68. package/_types/actions/governance/proposals/getProposal.d.ts.map +1 -1
  69. package/_types/actions/governance/proposals/getProposals.d.ts +1 -1
  70. package/_types/actions/governance/proposals/getProposals.d.ts.map +1 -1
  71. package/_types/client/createMoonwellClient.d.ts +9 -839
  72. package/_types/client/createMoonwellClient.d.ts.map +1 -1
  73. package/_types/common/index.d.ts +11 -0
  74. package/_types/common/index.d.ts.map +1 -1
  75. package/_types/environments/definitions/governance.d.ts +0 -7
  76. package/_types/environments/definitions/governance.d.ts.map +1 -1
  77. package/_types/environments/index.d.ts +5 -516
  78. package/_types/environments/index.d.ts.map +1 -1
  79. package/_types/environments/types/config.d.ts +14 -0
  80. package/_types/environments/types/config.d.ts.map +1 -1
  81. package/_types/errors/version.d.ts +1 -1
  82. package/actions/beam/common.ts +4 -9
  83. package/actions/core/markets/common.ts +307 -166
  84. package/actions/governance/getDelegates.ts +8 -8
  85. package/actions/governance/getGovernanceTokenInfo.ts +23 -15
  86. package/actions/governance/getUserVoteReceipt.ts +19 -5
  87. package/actions/governance/governor-api-client.ts +14 -5
  88. package/actions/governance/proposals/common.ts +143 -10
  89. package/actions/governance/proposals/getProposal.ts +29 -112
  90. package/actions/governance/proposals/getProposals.ts +52 -153
  91. package/client/createMoonwellClient.ts +32 -40
  92. package/common/index.ts +17 -6
  93. package/environments/definitions/governance.ts +5 -9
  94. package/environments/index.ts +28 -70
  95. package/environments/types/config.ts +14 -0
  96. package/errors/version.ts +1 -1
  97. package/package.json +1 -1
  98. package/_cjs/environments/definitions/moonbeam/contracts.js +0 -22
  99. package/_cjs/environments/definitions/moonbeam/contracts.js.map +0 -1
  100. package/_cjs/environments/definitions/moonbeam/core-markets.js +0 -65
  101. package/_cjs/environments/definitions/moonbeam/core-markets.js.map +0 -1
  102. package/_cjs/environments/definitions/moonbeam/custom.js +0 -24
  103. package/_cjs/environments/definitions/moonbeam/custom.js.map +0 -1
  104. package/_cjs/environments/definitions/moonbeam/environment.js +0 -38
  105. package/_cjs/environments/definitions/moonbeam/environment.js.map +0 -1
  106. package/_cjs/environments/definitions/moonbeam/tokens.js +0 -176
  107. package/_cjs/environments/definitions/moonbeam/tokens.js.map +0 -1
  108. package/_cjs/environments/definitions/moonriver/contracts.js +0 -19
  109. package/_cjs/environments/definitions/moonriver/contracts.js.map +0 -1
  110. package/_cjs/environments/definitions/moonriver/core-markets.js +0 -46
  111. package/_cjs/environments/definitions/moonriver/core-markets.js.map +0 -1
  112. package/_cjs/environments/definitions/moonriver/custom.js +0 -12
  113. package/_cjs/environments/definitions/moonriver/custom.js.map +0 -1
  114. package/_cjs/environments/definitions/moonriver/environment.js +0 -36
  115. package/_cjs/environments/definitions/moonriver/environment.js.map +0 -1
  116. package/_cjs/environments/definitions/moonriver/tokens.js +0 -110
  117. package/_cjs/environments/definitions/moonriver/tokens.js.map +0 -1
  118. package/_esm/environments/definitions/moonbeam/contracts.js +0 -19
  119. package/_esm/environments/definitions/moonbeam/contracts.js.map +0 -1
  120. package/_esm/environments/definitions/moonbeam/core-markets.js +0 -62
  121. package/_esm/environments/definitions/moonbeam/core-markets.js.map +0 -1
  122. package/_esm/environments/definitions/moonbeam/custom.js +0 -21
  123. package/_esm/environments/definitions/moonbeam/custom.js.map +0 -1
  124. package/_esm/environments/definitions/moonbeam/environment.js +0 -32
  125. package/_esm/environments/definitions/moonbeam/environment.js.map +0 -1
  126. package/_esm/environments/definitions/moonbeam/tokens.js +0 -173
  127. package/_esm/environments/definitions/moonbeam/tokens.js.map +0 -1
  128. package/_esm/environments/definitions/moonriver/contracts.js +0 -16
  129. package/_esm/environments/definitions/moonriver/contracts.js.map +0 -1
  130. package/_esm/environments/definitions/moonriver/core-markets.js +0 -43
  131. package/_esm/environments/definitions/moonriver/core-markets.js.map +0 -1
  132. package/_esm/environments/definitions/moonriver/custom.js +0 -9
  133. package/_esm/environments/definitions/moonriver/custom.js.map +0 -1
  134. package/_esm/environments/definitions/moonriver/environment.js +0 -31
  135. package/_esm/environments/definitions/moonriver/environment.js.map +0 -1
  136. package/_esm/environments/definitions/moonriver/tokens.js +0 -107
  137. package/_esm/environments/definitions/moonriver/tokens.js.map +0 -1
  138. package/_types/environments/definitions/moonbeam/contracts.d.ts +0 -14
  139. package/_types/environments/definitions/moonbeam/contracts.d.ts.map +0 -1
  140. package/_types/environments/definitions/moonbeam/core-markets.d.ts +0 -57
  141. package/_types/environments/definitions/moonbeam/core-markets.d.ts.map +0 -1
  142. package/_types/environments/definitions/moonbeam/custom.d.ts +0 -25
  143. package/_types/environments/definitions/moonbeam/custom.d.ts.map +0 -1
  144. package/_types/environments/definitions/moonbeam/environment.d.ts +0 -265
  145. package/_types/environments/definitions/moonbeam/environment.d.ts.map +0 -1
  146. package/_types/environments/definitions/moonbeam/tokens.d.ts +0 -171
  147. package/_types/environments/definitions/moonbeam/tokens.d.ts.map +0 -1
  148. package/_types/environments/definitions/moonriver/contracts.d.ts +0 -11
  149. package/_types/environments/definitions/moonriver/contracts.d.ts.map +0 -1
  150. package/_types/environments/definitions/moonriver/core-markets.d.ts +0 -38
  151. package/_types/environments/definitions/moonriver/core-markets.d.ts.map +0 -1
  152. package/_types/environments/definitions/moonriver/custom.d.ts +0 -8
  153. package/_types/environments/definitions/moonriver/custom.d.ts.map +0 -1
  154. package/_types/environments/definitions/moonriver/environment.d.ts +0 -159
  155. package/_types/environments/definitions/moonriver/environment.d.ts.map +0 -1
  156. package/_types/environments/definitions/moonriver/tokens.d.ts +0 -105
  157. package/_types/environments/definitions/moonriver/tokens.d.ts.map +0 -1
  158. package/environments/definitions/moonbeam/contracts.ts +0 -19
  159. package/environments/definitions/moonbeam/core-markets.ts +0 -62
  160. package/environments/definitions/moonbeam/custom.ts +0 -21
  161. package/environments/definitions/moonbeam/environment.ts +0 -39
  162. package/environments/definitions/moonbeam/tokens.ts +0 -173
  163. package/environments/definitions/moonriver/contracts.ts +0 -16
  164. package/environments/definitions/moonriver/core-markets.ts +0 -43
  165. package/environments/definitions/moonriver/custom.ts +0 -9
  166. package/environments/definitions/moonriver/environment.ts +0 -38
  167. package/environments/definitions/moonriver/tokens.ts +0 -107
@@ -294,6 +294,26 @@ async function getMarketsFromMTokenFallback(environment, seizePaused, transferPa
294
294
  }
295
295
  return markets;
296
296
  }
297
+ /**
298
+ * Parse a numeric field from a Lunar record, rejecting `NaN`.
299
+ *
300
+ * `Number()` wrapping is defensive — Lunar may return numeric fields as strings
301
+ * — but a missing or non-numeric field yields `NaN`, and only the fields that go
302
+ * on to reach `BigInt()` fail loudly. The rest (USD totals, prices, caps, APYs)
303
+ * flowed into `Market` as `NaN` and silently poisoned every downstream
304
+ * aggregate: a single bad `totalSupplyUsd` turns a chain's summed TVL into
305
+ * `NaN`. Throwing puts both field classes on the same record-level guard, so a
306
+ * dropped field costs its record and is reported, instead of returning a market
307
+ * with holes in it. Names the field, which `BigInt()`'s bare "NaN cannot be
308
+ * converted to a BigInt" never did.
309
+ */
310
+ const toLunarNumber = (value, field) => {
311
+ const parsed = Number(value);
312
+ if (Number.isNaN(parsed)) {
313
+ throw new Error(`Lunar field "${field}" is not a number (received ${JSON.stringify(value)})`);
314
+ }
315
+ return parsed;
316
+ };
297
317
  /**
298
318
  * Fetch markets data from Lunar Indexer (hybrid approach)
299
319
  *
@@ -338,119 +358,187 @@ async function fetchMarketsFromLunar(environment) {
338
358
  nativeTokenPrice = new Amount(nativeTokenPriceRaw, 18);
339
359
  }
340
360
  const markets = [];
361
+ let malformedCount = 0;
362
+ let malformedIncentiveCount = 0;
341
363
  for (const lunarMarket of lunarMarkets) {
342
364
  const marketFound = findMarketByAddress(environment, lunarMarket.address);
343
365
  if (!marketFound) {
344
366
  continue;
345
367
  }
346
368
  const { marketConfig, marketToken, underlyingToken, marketKey } = marketFound;
347
- // Transform Lunar decimal numbers to SDK Amount types
348
- // Note: Number() wrapping is defensive — the Lunar API may return numeric
349
- // fields as strings, which would break BigInt conversion via Math.floor.
350
- const totalSupply = new Amount(BigInt(Math.floor(Number(lunarMarket.totalSupply) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
351
- const totalBorrows = new Amount(BigInt(Math.floor(Number(lunarMarket.totalBorrows) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
352
- const totalReserves = new Amount(BigInt(Math.floor(Number(lunarMarket.totalReserves) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
353
- const cash = new Amount(BigInt(Math.floor(Number(lunarMarket.cash) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
354
- const badDebt = new Amount(BigInt(Math.floor(Number(lunarMarket.badDebt) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
355
- const supplyCaps = new Amount(BigInt(Math.floor(Number(lunarMarket.supplyCap) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
356
- const borrowCaps = new Amount(BigInt(Math.floor(Number(lunarMarket.borrowCap) * 10 ** underlyingToken.decimals)), underlyingToken.decimals);
357
- // Lunar provides reserveFactor as wei string, convert to decimal
358
- const reserveFactor = new Amount(BigInt(lunarMarket.reserveFactor), 18)
359
- .value;
360
- const market = {
361
- marketKey,
362
- chainId: environment.chainId,
363
- seizePaused: lunarMarket.seizePaused,
364
- transferPaused: lunarMarket.transferPaused,
365
- mintPaused: lunarMarket.mintPaused,
366
- borrowPaused: lunarMarket.borrowPaused,
367
- deprecated: marketConfig.deprecated === true,
368
- borrowCaps,
369
- borrowCapsUsd: Number(lunarMarket.borrowCap) * Number(lunarMarket.priceUsd),
370
- cash,
371
- collateralFactor: Number(lunarMarket.collateralFactor),
372
- exchangeRate: Number(lunarMarket.exchangeRate),
373
- marketToken,
374
- reserveFactor,
375
- supplyCaps,
376
- supplyCapsUsd: Number(lunarMarket.supplyCap) * Number(lunarMarket.priceUsd),
377
- badDebt,
378
- badDebtUsd: Number(lunarMarket.badDebtUsd),
379
- totalBorrows,
380
- totalBorrowsUsd: Number(lunarMarket.totalBorrowsUsd),
381
- totalReserves,
382
- totalReservesUsd: Number(lunarMarket.totalReservesUsd),
383
- totalSupply,
384
- totalSupplyUsd: Number(lunarMarket.totalSupplyUsd),
385
- underlyingPrice: Number(lunarMarket.priceUsd),
386
- underlyingToken,
387
- baseBorrowApy: Number(lunarMarket.baseBorrowApy),
388
- baseSupplyApy: Number(lunarMarket.baseSupplyApy),
389
- totalBorrowApr: 0,
390
- totalSupplyApr: 0,
391
- rewards: [],
392
- };
393
- for (const incentive of lunarMarket.incentives) {
394
- const token = findTokenByAddress(environment, incentive.token);
395
- if (!token) {
396
- continue;
397
- }
398
- let supplyApr;
399
- let borrowApr;
400
- // On-chain contracts use borrowIncentivesPerSec=1 (1 wei) as a
401
- // placeholder when there are no active borrow incentives, because
402
- // setting it to 0 triggers a known smart contract bug. Treat as zero.
403
- const isBorrowPlaceholder = BigInt(incentive.borrowIncentivesPerSec) === 1n;
404
- if (incentive.priceUsd !== null &&
405
- incentive.supplyApr !== null &&
406
- incentive.borrowApr !== null) {
407
- supplyApr = Number(incentive.supplyApr);
408
- borrowApr = isBorrowPlaceholder ? 0 : -Number(incentive.borrowApr);
409
- }
410
- else {
411
- const isGovernanceToken = token.symbol === environment.custom?.governance?.token;
412
- const isNativeToken = token.address === zeroAddress;
413
- const price = isNativeToken
414
- ? nativeTokenPrice?.value
415
- : isGovernanceToken
416
- ? governanceTokenPrice?.value
417
- : undefined;
418
- if (!price) {
419
- continue;
369
+ // A malformed record must not reject the whole chain's market list:
370
+ // `BigInt()` throws a RangeError on NaN (a missing numeric field), and one
371
+ // bad record previously took down every market on the chain — observed
372
+ // chain-wide on the sunset Moonbeam deployment after the indexer stopped
373
+ // backfilling it (MOONWELL-FRONTEND-12J). Skip the record instead; the
374
+ // all-malformed case still throws below so `getMarketsData` keeps its
375
+ // on-chain fallback. `toLunarNumber` routes the fields that never reach
376
+ // `BigInt()` into this same guard, so a dropped field can't leave `NaN` in a
377
+ // returned market either.
378
+ try {
379
+ // Transform Lunar decimal numbers to SDK Amount types. `toLunarNumber`
380
+ // absorbs the string-encoded numbers Lunar may return, and rejects the
381
+ // `NaN` a dropped field produces — see its docblock for why the fields
382
+ // that never reach `BigInt()` need the same guard.
383
+ const totalSupply = new Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.totalSupply, "totalSupply") *
384
+ 10 ** underlyingToken.decimals)), underlyingToken.decimals);
385
+ const totalBorrows = new Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.totalBorrows, "totalBorrows") *
386
+ 10 ** underlyingToken.decimals)), underlyingToken.decimals);
387
+ const totalReserves = new Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.totalReserves, "totalReserves") *
388
+ 10 ** underlyingToken.decimals)), underlyingToken.decimals);
389
+ const cash = new Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.cash, "cash") *
390
+ 10 ** underlyingToken.decimals)), underlyingToken.decimals);
391
+ const badDebt = new Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.badDebt, "badDebt") *
392
+ 10 ** underlyingToken.decimals)), underlyingToken.decimals);
393
+ const supplyCaps = new Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.supplyCap, "supplyCap") *
394
+ 10 ** underlyingToken.decimals)), underlyingToken.decimals);
395
+ const borrowCaps = new Amount(BigInt(Math.floor(toLunarNumber(lunarMarket.borrowCap, "borrowCap") *
396
+ 10 ** underlyingToken.decimals)), underlyingToken.decimals);
397
+ // Lunar provides reserveFactor as wei string, convert to decimal
398
+ const reserveFactor = new Amount(BigInt(lunarMarket.reserveFactor), 18)
399
+ .value;
400
+ const market = {
401
+ marketKey,
402
+ chainId: environment.chainId,
403
+ seizePaused: lunarMarket.seizePaused,
404
+ transferPaused: lunarMarket.transferPaused,
405
+ mintPaused: lunarMarket.mintPaused,
406
+ borrowPaused: lunarMarket.borrowPaused,
407
+ deprecated: marketConfig.deprecated === true,
408
+ borrowCaps,
409
+ borrowCapsUsd: toLunarNumber(lunarMarket.borrowCap, "borrowCap") *
410
+ toLunarNumber(lunarMarket.priceUsd, "priceUsd"),
411
+ cash,
412
+ collateralFactor: toLunarNumber(lunarMarket.collateralFactor, "collateralFactor"),
413
+ exchangeRate: toLunarNumber(lunarMarket.exchangeRate, "exchangeRate"),
414
+ marketToken,
415
+ reserveFactor,
416
+ supplyCaps,
417
+ supplyCapsUsd: toLunarNumber(lunarMarket.supplyCap, "supplyCap") *
418
+ toLunarNumber(lunarMarket.priceUsd, "priceUsd"),
419
+ badDebt,
420
+ badDebtUsd: toLunarNumber(lunarMarket.badDebtUsd, "badDebtUsd"),
421
+ totalBorrows,
422
+ totalBorrowsUsd: toLunarNumber(lunarMarket.totalBorrowsUsd, "totalBorrowsUsd"),
423
+ totalReserves,
424
+ totalReservesUsd: toLunarNumber(lunarMarket.totalReservesUsd, "totalReservesUsd"),
425
+ totalSupply,
426
+ totalSupplyUsd: toLunarNumber(lunarMarket.totalSupplyUsd, "totalSupplyUsd"),
427
+ underlyingPrice: toLunarNumber(lunarMarket.priceUsd, "priceUsd"),
428
+ underlyingToken,
429
+ baseBorrowApy: toLunarNumber(lunarMarket.baseBorrowApy, "baseBorrowApy"),
430
+ baseSupplyApy: toLunarNumber(lunarMarket.baseSupplyApy, "baseSupplyApy"),
431
+ totalBorrowApr: 0,
432
+ totalSupplyApr: 0,
433
+ rewards: [],
434
+ };
435
+ for (const incentive of lunarMarket.incentives) {
436
+ // A malformed incentive costs its own reward entry, not the market.
437
+ // `BigInt()` runs on three reward fields below, so a rewards-only
438
+ // indexer incident would otherwise throw out to the record-level catch
439
+ // and drop an otherwise-valid market — the same blast radius this fix
440
+ // set out to shrink, one level down. Matches the loop's existing
441
+ // skip-the-unusable-entry idiom (`if (!token) continue`).
442
+ try {
443
+ const token = findTokenByAddress(environment, incentive.token);
444
+ if (!token) {
445
+ continue;
446
+ }
447
+ let supplyApr;
448
+ let borrowApr;
449
+ // On-chain contracts use borrowIncentivesPerSec=1 (1 wei) as a
450
+ // placeholder when there are no active borrow incentives, because
451
+ // setting it to 0 triggers a known smart contract bug. Treat as zero.
452
+ const isBorrowPlaceholder = BigInt(incentive.borrowIncentivesPerSec) === 1n;
453
+ if (incentive.priceUsd !== null &&
454
+ incentive.supplyApr !== null &&
455
+ incentive.borrowApr !== null) {
456
+ supplyApr = toLunarNumber(incentive.supplyApr, "incentive.supplyApr");
457
+ borrowApr = isBorrowPlaceholder
458
+ ? 0
459
+ : -toLunarNumber(incentive.borrowApr, "incentive.borrowApr");
460
+ }
461
+ else {
462
+ const isGovernanceToken = token.symbol === environment.custom?.governance?.token;
463
+ const isNativeToken = token.address === zeroAddress;
464
+ const price = isNativeToken
465
+ ? nativeTokenPrice?.value
466
+ : isGovernanceToken
467
+ ? governanceTokenPrice?.value
468
+ : undefined;
469
+ if (!price) {
470
+ continue;
471
+ }
472
+ const borrowIncentivesPerSec = isBorrowPlaceholder
473
+ ? 0n
474
+ : BigInt(incentive.borrowIncentivesPerSec);
475
+ const supplyIncentivesPerSec = BigInt(incentive.supplyIncentivesPerSec);
476
+ const supplyRewardsPerDayUsd = perDay(new Amount(supplyIncentivesPerSec, token.decimals).value) *
477
+ price;
478
+ const borrowRewardsPerDayUsd = perDay(new Amount(borrowIncentivesPerSec, token.decimals).value) *
479
+ price;
480
+ supplyApr =
481
+ toLunarNumber(lunarMarket.totalSupplyUsd, "totalSupplyUsd") === 0
482
+ ? 0
483
+ : (supplyRewardsPerDayUsd /
484
+ toLunarNumber(lunarMarket.totalSupplyUsd, "totalSupplyUsd")) *
485
+ DAYS_PER_YEAR *
486
+ 100;
487
+ // Negative: borrow reward APR reduces the effective borrowing cost
488
+ borrowApr =
489
+ toLunarNumber(lunarMarket.totalBorrowsUsd, "totalBorrowsUsd") ===
490
+ 0
491
+ ? 0
492
+ : (borrowRewardsPerDayUsd /
493
+ toLunarNumber(lunarMarket.totalBorrowsUsd, "totalBorrowsUsd")) *
494
+ DAYS_PER_YEAR *
495
+ 100 *
496
+ -1;
497
+ }
498
+ market.rewards.push({
499
+ liquidStakingApr: 0,
500
+ borrowApr,
501
+ supplyApr,
502
+ token,
503
+ });
504
+ }
505
+ catch (error) {
506
+ malformedIncentiveCount++;
507
+ console.warn(`[fetchMarketsFromLunar] Skipping malformed incentive ${incentive.token} on market ${lunarMarket.address} (chain ${environment.chainId}):`, error);
420
508
  }
421
- const borrowIncentivesPerSec = isBorrowPlaceholder
422
- ? 0n
423
- : BigInt(incentive.borrowIncentivesPerSec);
424
- const supplyIncentivesPerSec = BigInt(incentive.supplyIncentivesPerSec);
425
- const supplyRewardsPerDayUsd = perDay(new Amount(supplyIncentivesPerSec, token.decimals).value) *
426
- price;
427
- const borrowRewardsPerDayUsd = perDay(new Amount(borrowIncentivesPerSec, token.decimals).value) *
428
- price;
429
- supplyApr =
430
- Number(lunarMarket.totalSupplyUsd) === 0
431
- ? 0
432
- : (supplyRewardsPerDayUsd / Number(lunarMarket.totalSupplyUsd)) *
433
- DAYS_PER_YEAR *
434
- 100;
435
- // Negative: borrow reward APR reduces the effective borrowing cost
436
- borrowApr =
437
- Number(lunarMarket.totalBorrowsUsd) === 0
438
- ? 0
439
- : (borrowRewardsPerDayUsd / Number(lunarMarket.totalBorrowsUsd)) *
440
- DAYS_PER_YEAR *
441
- 100 *
442
- -1;
443
509
  }
444
- market.rewards.push({
445
- liquidStakingApr: 0,
446
- borrowApr,
447
- supplyApr,
448
- token,
449
- });
510
+ market.totalSupplyApr = market.rewards.reduce((prev, curr) => prev + curr.supplyApr, market.baseSupplyApy);
511
+ market.totalBorrowApr = market.rewards.reduce((prev, curr) => prev + curr.borrowApr, market.baseBorrowApy);
512
+ markets.push(market);
450
513
  }
451
- market.totalSupplyApr = market.rewards.reduce((prev, curr) => prev + curr.supplyApr, market.baseSupplyApy);
452
- market.totalBorrowApr = market.rewards.reduce((prev, curr) => prev + curr.borrowApr, market.baseBorrowApy);
453
- markets.push(market);
514
+ catch (error) {
515
+ malformedCount++;
516
+ console.warn(`[fetchMarketsFromLunar] Skipping malformed market ${lunarMarket.address} on chain ${environment.chainId}:`, error);
517
+ }
518
+ }
519
+ // Every matched record was malformed — the indexer's data for this chain is
520
+ // unusable, so surface it to the caller's catch (one meaningful onError +
521
+ // on-chain fallback) instead of silently returning an empty market list.
522
+ if (malformedCount > 0 && markets.length === 0) {
523
+ throw new Error(`Lunar Indexer returned only malformed market records for chain ${environment.chainId} (${malformedCount} skipped)`);
524
+ }
525
+ // A partial incident is the likeliest shape, and it is the one that returns
526
+ // successfully — without this, markets vanishing from the response would
527
+ // leave nothing behind but a console line, making the incident class this fix
528
+ // exists for (MOONWELL-FRONTEND-12J) invisible rather than visible. Distinct
529
+ // `source` values so a degraded result is attributable separately from the
530
+ // total failure that routes through `getMarketsData`'s own "markets" source.
531
+ if (malformedCount > 0) {
532
+ environment.onError?.(new Error(`Lunar Indexer returned ${malformedCount} malformed market record(s) for chain ${environment.chainId}; those markets were skipped (${markets.length} returned)`), {
533
+ source: "markets-malformed-records",
534
+ chainId: environment.chainId,
535
+ });
536
+ }
537
+ if (malformedIncentiveCount > 0) {
538
+ environment.onError?.(new Error(`Lunar Indexer returned ${malformedIncentiveCount} malformed incentive record(s) for chain ${environment.chainId}; those rewards were skipped`), {
539
+ source: "markets-malformed-incentives",
540
+ chainId: environment.chainId,
541
+ });
454
542
  }
455
543
  return markets;
456
544
  }
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../actions/core/markets/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../actions/core/markets/common.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { isAddress } from "viem";
2
- import { base, mainnet, moonbeam, optimism } from "viem/chains";
2
+ import { base, mainnet, optimism } from "viem/chains";
3
3
  import { publicEnvironments, } from "../../environments/index.js";
4
4
  import * as logger from "../../logger/console.js";
5
5
  import { getWithRetry } from "../axiosWithRetry.js";
@@ -12,15 +12,15 @@ import { fetchAllVoters } from "./governor-api-client.js";
12
12
  */
13
13
  export async function getDelegates(client) {
14
14
  const logId = logger.start("getDelegates", "Starting to get delegates...");
15
- const governanceEnvironment = publicEnvironments.moonbeam;
15
+ // Any environment resolves the same `governanceIndexerUrl`; the Ethereum hub
16
+ // replaces Moonbeam here now that the sunset chain is gone (MOO-551).
17
+ const governanceEnvironment = publicEnvironments.ethereum;
16
18
  const apiVoters = await fetchAllVoters(governanceEnvironment);
17
19
  const forumProfiles = await getForumProfiles();
18
- const targetChainIds = [
19
- moonbeam.id,
20
- base.id,
21
- optimism.id,
22
- mainnet.id,
23
- ];
20
+ // Moonbeam dropped with the sunset: the chain is halted, so it can no longer
21
+ // serve `getUserVotingPower`. Delegate totals therefore no longer include any
22
+ // WELL that remained on Moonbeam.
23
+ const targetChainIds = [base.id, optimism.id, mainnet.id];
24
24
  const envs = Object.values(client.environments).filter((env) => env.contracts.views !== undefined &&
25
25
  targetChainIds.includes(env.chainId));
26
26
  const votingPowers = await Promise.all(apiVoters.map(async (voter) => Promise.all(envs.map((environment) => environment.contracts.views?.read.getUserVotingPower([
@@ -1 +1 @@
1
- {"version":3,"file":"getDelegates.js","sourceRoot":"","sources":["../../../actions/governance/getDelegates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getDelegates.js","sourceRoot":"","sources":["../../../actions/governance/getDelegates.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,28 @@
1
1
  import { Amount } from "../../common/index.js";
2
2
  import { publicEnvironments, } from "../../environments/index.js";
3
3
  import * as logger from "../../logger/console.js";
4
- export async function getGovernanceTokenInfo(_client, args) {
4
+ export async function getGovernanceTokenInfo(_client,
5
+ // Retained for API compatibility, but WELL is the only governance token left
6
+ // now that MFAM went with Moonriver (MOO-551), so there is nothing to branch on.
7
+ args) {
5
8
  const logId = logger.start("getGovernanceTokenInfo", "Starting to get governance token info...");
6
- if (args.governanceToken === "WELL") {
7
- const totalSupply = await publicEnvironments.moonbeam.contracts.governanceToken.read.totalSupply();
9
+ // TypeScript already narrows `GovernanceToken` to "WELL", but a JS consumer
10
+ // still passing "MFAM" would otherwise receive WELL's supply as a normal
11
+ // success — silently wrong data where TS consumers get a compile error.
12
+ // Reject it rather than let the removed token look like it still resolves.
13
+ if (args.governanceToken !== undefined && args.governanceToken !== "WELL") {
8
14
  logger.end(logId);
9
- return {
10
- totalSupply: new Amount(totalSupply || 0n, 18),
11
- };
12
- }
13
- else {
14
- const totalSupply = await publicEnvironments.moonriver.contracts.governanceToken.read.totalSupply();
15
- logger.end(logId);
16
- return {
17
- totalSupply: new Amount(totalSupply || 0n, 18),
18
- };
15
+ throw new Error(`Unsupported governance token "${args.governanceToken}". MFAM was removed with the Moonriver sunset (MOO-551); WELL is the only governance token.`);
19
16
  }
17
+ // WELL supply used to be read from Moonbeam, the original mint. That chain is
18
+ // halted (MOO-551), so the read now targets the Ethereum multigov hub — the
19
+ // home of live governance. Note this reports the hub's xWELL supply rather
20
+ // than Moonbeam's historical total, so the number can differ from pre-sunset
21
+ // releases. MFAM is gone entirely: Apollo governance ended with Moonriver.
22
+ const totalSupply = await publicEnvironments.ethereum.contracts.governanceToken.read.totalSupply();
23
+ logger.end(logId);
24
+ return {
25
+ totalSupply: new Amount(totalSupply || 0n, 18),
26
+ };
20
27
  }
21
28
  //# sourceMappingURL=getGovernanceTokenInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGovernanceTokenInfo.js","sourceRoot":"","sources":["../../../actions/governance/getGovernanceTokenInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAEL,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAalD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAuB,EACvB,IAAsC;IAEtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CACxB,wBAAwB,EACxB,0CAA0C,CAC3C,CAAC;IAEF,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,WAAW,GACf,MAAM,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAElB,OAAO;YACL,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,EAAE,CAAC;SAC/C,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GACf,MAAM,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAElF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO;YACL,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,EAAE,CAAC;SAC/C,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"getGovernanceTokenInfo.js","sourceRoot":"","sources":["../../../actions/governance/getGovernanceTokenInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAEL,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAalD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAuB;AACvB,6EAA6E;AAC7E,iFAAiF;AACjF,IAAsC;IAEtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CACxB,wBAAwB,EACxB,0CAA0C,CAC3C,CAAC;IAEF,4EAA4E;IAC5E,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;QAC1E,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,eAAe,6FAA6F,CACnJ,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,WAAW,GACf,MAAM,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAEjF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAElB,OAAO;QACL,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,EAAE,CAAC;KAC/C,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
- import { Amount, getEnvironmentFromArgs } from "../../common/index.js";
1
+ import { Amount } from "../../common/index.js";
2
2
  import { GovernorNotFoundError, SUPPORTED_GOVERNOR_CHAIN_IDS, fetchUserVoteReceipt, isNotFoundError, } from "./governor-api-client.js";
3
+ import { resolveGovernanceEnvironment } from "./proposals/common.js";
3
4
  /**
4
5
  * Fetch a user's vote receipts for a proposal.
5
6
  *
@@ -10,8 +11,15 @@ import { GovernorNotFoundError, SUPPORTED_GOVERNOR_CHAIN_IDS, fetchUserVoteRecei
10
11
  */
11
12
  export async function getUserVoteReceipt(client, args) {
12
13
  const { proposalId, userAddress, chainId } = args;
13
- const environment = getEnvironmentFromArgs(client, args);
14
- if (!environment) {
14
+ // `args.chainId` identifies the chain the PROPOSAL lives on, not the
15
+ // environment we read through — the same distinction `getProposal` draws
16
+ // (MOO-551). Resolving the environment from it meant an archive lookup
17
+ // (1284/1285) matched no registered environment post-sunset and returned `[]`,
18
+ // a third shape callers don't handle: every historical vote read as "didn't
19
+ // vote". Resolve the indexer source independently and pass `chainId` through
20
+ // untouched.
21
+ const governanceEnvironment = resolveGovernanceEnvironment(Object.values(client.environments));
22
+ if (!governanceEnvironment) {
15
23
  return [];
16
24
  }
17
25
  const tryChains = chainId ? [chainId] : SUPPORTED_GOVERNOR_CHAIN_IDS;
@@ -20,7 +28,7 @@ export async function getUserVoteReceipt(client, args) {
20
28
  const notFoundChainIds = [];
21
29
  for (const cid of tryChains) {
22
30
  try {
23
- const apiVoteReceipts = await fetchUserVoteReceipt(environment, cid, proposalId, userAddress);
31
+ const apiVoteReceipts = await fetchUserVoteReceipt(governanceEnvironment, cid, proposalId, userAddress);
24
32
  anyChainAcknowledged = true;
25
33
  collected.push(...apiVoteReceipts);
26
34
  }
@@ -38,7 +46,10 @@ export async function getUserVoteReceipt(client, args) {
38
46
  if (collected.length === 0) {
39
47
  return [
40
48
  {
41
- chainId: environment.chainId,
49
+ // An explicit request names the chain the stub is about; a bare lookup
50
+ // queried every supported chain, so the source we read through is the
51
+ // only chain it can honestly claim.
52
+ chainId: chainId ?? governanceEnvironment.chainId,
42
53
  proposalId,
43
54
  account: userAddress,
44
55
  voted: false,
@@ -1 +1 @@
1
- {"version":3,"file":"getUserVoteReceipt.js","sourceRoot":"","sources":["../../../actions/governance/getUserVoteReceipt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGvE,OAAO,EAEL,qBAAqB,EACrB,4BAA4B,EAC5B,oBAAoB,EACpB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAwBlC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAItC,MAAsB,EACtB,IAAyD;IAEzD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAElD,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC;IAErE,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAChD,WAAW,EACX,GAAG,EACH,UAAU,EACV,WAAW,CACZ,CAAC;YACF,oBAAoB,GAAG,IAAI,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL;gBACE,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,UAAU;gBACV,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;aACzB;SACF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,UAAU;QACV,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,UAAU,CAAC,SAAS;QAC5B,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;KAChD,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"getUserVoteReceipt.js","sourceRoot":"","sources":["../../../actions/governance/getUserVoteReceipt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI/C,OAAO,EAEL,qBAAqB,EACrB,4BAA4B,EAC5B,oBAAoB,EACpB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAwBrE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAItC,MAAsB,EACtB,IAAyD;IAEzD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAElD,qEAAqE;IACrE,yEAAyE;IACzE,uEAAuE;IACvE,+EAA+E;IAC/E,4EAA4E;IAC5E,6EAA6E;IAC7E,aAAa;IACb,MAAM,qBAAqB,GAAG,4BAA4B,CACxD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAA2C,CAAC,CAClE,CAAC;IACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC;IAErE,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAChD,qBAAqB,EACrB,GAAG,EACH,UAAU,EACV,WAAW,CACZ,CAAC;YACF,oBAAoB,GAAG,IAAI,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL;gBACE,uEAAuE;gBACvE,sEAAsE;gBACtE,oCAAoC;gBACpC,OAAO,EAAE,OAAO,IAAI,qBAAqB,CAAC,OAAO;gBACjD,UAAU;gBACV,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;aACzB;SACF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,UAAU;QACV,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,UAAU,CAAC,SAAS;QAC5B,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;KAChD,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -12,11 +12,20 @@ const getGovernorApiUrl = (environment) => {
12
12
  * active multigov contract lives; Moonbeam follows for the historical archive,
13
13
  * then Moonriver (legacy standalone governor).
14
14
  *
15
- * This is the fan-out set for `getUserVoteReceipt` — a bare proposalId is
16
- * queried on every chain and non-empty receipts are concatenated. Do NOT use it
17
- * as the single-proposal fallback in `getProposal`: Moonriver has its own
18
- * explicit route there, and reaching a 1285 proposal through a Moonbeam env
19
- * would surface a degraded result (see `MULTIGOV_PROPOSAL_FALLBACK_CHAIN_IDS`).
15
+ * The fan-out set for two consumers: `getUserVoteReceipt` (a bare proposalId is
16
+ * queried on every chain and non-empty receipts are concatenated) and
17
+ * `getProposals` (every chain's list is fetched and merged, so the archive stays
18
+ * listable after the sunset).
19
+ *
20
+ * Since MOO-551 no Moonbeam/Moonriver environment exists, so 1284 and 1285 are
21
+ * served through whichever governance environment resolved — reporting
22
+ * `quorum: 0` and no `eta` because nothing on-chain can be read for a halted
23
+ * chain. That degradation is the accepted post-sunset design here, not a bug.
24
+ *
25
+ * Still do NOT use this set as the *single-proposal* fallback in `getProposal`:
26
+ * a bare lookup must not silently resolve to a 1285 proposal it wasn't asked
27
+ * for — that stays an explicit `chainId` route (see
28
+ * `MULTIGOV_PROPOSAL_FALLBACK_CHAIN_IDS`).
20
29
  */
21
30
  export const SUPPORTED_GOVERNOR_CHAIN_IDS = [1, 1284, 1285];
22
31
  /**