@moonwell-fi/moonwell-sdk 0.17.1 → 0.18.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 (41) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/_cjs/actions/governance/proposals/common.js +68 -71
  3. package/_cjs/actions/governance/proposals/common.js.map +1 -1
  4. package/_cjs/actions/governance/proposals/getProposal.js +1 -1
  5. package/_cjs/actions/governance/proposals/getProposal.js.map +1 -1
  6. package/_cjs/actions/governance/proposals/getProposals.js +1 -1
  7. package/_cjs/actions/governance/proposals/getProposals.js.map +1 -1
  8. package/_cjs/environments/definitions/ethereum/custom.js.map +1 -1
  9. package/_cjs/environments/definitions/optimism/custom.js +3 -0
  10. package/_cjs/environments/definitions/optimism/custom.js.map +1 -1
  11. package/_cjs/errors/version.js +1 -1
  12. package/_esm/actions/governance/proposals/common.js +98 -78
  13. package/_esm/actions/governance/proposals/common.js.map +1 -1
  14. package/_esm/actions/governance/proposals/getProposal.js +6 -4
  15. package/_esm/actions/governance/proposals/getProposal.js.map +1 -1
  16. package/_esm/actions/governance/proposals/getProposals.js +7 -6
  17. package/_esm/actions/governance/proposals/getProposals.js.map +1 -1
  18. package/_esm/environments/definitions/ethereum/custom.js +4 -0
  19. package/_esm/environments/definitions/ethereum/custom.js.map +1 -1
  20. package/_esm/environments/definitions/optimism/custom.js +3 -0
  21. package/_esm/environments/definitions/optimism/custom.js.map +1 -1
  22. package/_esm/errors/version.js +1 -1
  23. package/_types/actions/governance/proposals/common.d.ts +1 -0
  24. package/_types/actions/governance/proposals/common.d.ts.map +1 -1
  25. package/_types/client/createMoonwellClient.d.ts +6 -0
  26. package/_types/client/createMoonwellClient.d.ts.map +1 -1
  27. package/_types/environments/definitions/ethereum/custom.d.ts.map +1 -1
  28. package/_types/environments/definitions/optimism/custom.d.ts +3 -0
  29. package/_types/environments/definitions/optimism/custom.d.ts.map +1 -1
  30. package/_types/environments/definitions/optimism/environment.d.ts +3 -0
  31. package/_types/environments/definitions/optimism/environment.d.ts.map +1 -1
  32. package/_types/environments/index.d.ts +3 -0
  33. package/_types/environments/index.d.ts.map +1 -1
  34. package/_types/errors/version.d.ts +1 -1
  35. package/actions/governance/proposals/common.ts +123 -101
  36. package/actions/governance/proposals/getProposal.ts +6 -4
  37. package/actions/governance/proposals/getProposals.ts +7 -6
  38. package/environments/definitions/ethereum/custom.ts +4 -0
  39. package/environments/definitions/optimism/custom.ts +3 -0
  40. package/errors/version.ts +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../environments/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../environments/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.17.1";
1
+ export declare const version = "0.18.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -5,6 +5,7 @@ import { Amount } from "../../../common/index.js";
5
5
  import type { Environment } from "../../../environments/index.js";
6
6
  import { publicEnvironments } from "../../../environments/index.js";
7
7
  import {
8
+ MultichainProposalState,
8
9
  MultichainProposalStateMapping,
9
10
  type Proposal,
10
11
  ProposalState,
@@ -283,6 +284,13 @@ const getLegacyArtemisMaxId = async (
283
284
  * `getExtendedProposalData`. The caller's `governanceEnvironment` carries
284
285
  * `onError` since we don't have one per foreign chain in scope.
285
286
  */
287
+ export const getEnvironmentByChainId = (
288
+ chainId: number,
289
+ ): Environment | undefined =>
290
+ (Object.values(publicEnvironments) as Environment[]).find(
291
+ (e) => e.chainId === chainId,
292
+ );
293
+
286
294
  export const readCrossChainQuorums = async (
287
295
  apiProposals: ApiProposal[],
288
296
  governanceEnvironment: Environment,
@@ -297,9 +305,7 @@ export const readCrossChainQuorums = async (
297
305
  const quorums = new Map<number, bigint>();
298
306
  await Promise.all(
299
307
  otherChainIds.map(async (chainId) => {
300
- const env = (Object.values(publicEnvironments) as Environment[]).find(
301
- (e) => e.chainId === chainId,
302
- );
308
+ const env = getEnvironmentByChainId(chainId);
303
309
  const mg = env?.contracts.multichainGovernor;
304
310
  if (!mg) return;
305
311
  try {
@@ -344,44 +350,90 @@ export const getProposalsOnChainData = async (
344
350
 
345
351
  const nowSeconds = Math.floor(Date.now() / 1000);
346
352
 
353
+ // Foreign proposals (chainId !== caller's) need their own home env's
354
+ // governor — the caller's RPC can't read them. Falls back to publicEnvironments.
355
+ const resolveHomeEnv = (chainId: number): Environment | undefined =>
356
+ chainId === governanceEnvironment.chainId
357
+ ? governanceEnvironment
358
+ : getEnvironmentByChainId(chainId);
359
+
347
360
  const onChainDataList = await Promise.all(
348
361
  apiProposals.map(async (p) => {
349
- // Proposals from a different chain than the governance env (e.g. chainId=1
350
- // Ethereum proposals fetched through the Moonbeam env) can't have their
351
- // state read from this env's contracts — derive state from API events here
352
- // so callers never see a misleading `state: 0` default for finalized
353
- // proposals. Quorum, however, comes from a per-chain map populated by the
354
- // caller via `readCrossChainQuorums` (defaulting to 0n when the caller
355
- // didn't pre-fetch, e.g. in unit tests).
356
- if (p.chainId !== governanceEnvironment.chainId) {
362
+ const isLocal = p.chainId === governanceEnvironment.chainId;
363
+ const proposalQuorum = isLocal
364
+ ? quorum
365
+ : (options?.crossChainQuorums?.get(p.chainId) ?? 0n);
366
+ const homeEnv = resolveHomeEnv(p.chainId);
367
+
368
+ if (!homeEnv) {
357
369
  const formatted = formatApiProposalData(p);
358
370
  return {
359
371
  state: deriveProposalStateFromApi(formatted, p, nowSeconds),
360
372
  proposalData: null,
361
373
  eta: 0,
362
374
  votesCollected: false,
363
- quorum: options?.crossChainQuorums?.get(p.chainId) ?? 0n,
375
+ quorum: proposalQuorum,
364
376
  };
365
377
  }
366
378
 
367
- const isMultichain = isMultichainAware(p, legacyArtemisMaxId);
379
+ // legacyArtemisMaxId is meaningful only for the caller's env — it's the
380
+ // Moonbeam Artemis cap. For foreign envs the targets-only heuristic is
381
+ // the right check (Ethereum-hub multigov has no Artemis predecessor).
382
+ const isMultichain = isLocal
383
+ ? isMultichainAware(p, legacyArtemisMaxId)
384
+ : isMultichainProposal(p.targets);
368
385
 
369
386
  const governorContract = isMultichain
370
- ? governanceEnvironment.contracts.multichainGovernor
371
- : governanceEnvironment.contracts.governor;
387
+ ? homeEnv.contracts.multichainGovernor
388
+ : homeEnv.contracts.governor;
372
389
 
373
390
  let state = 0;
374
391
  let proposalData = null;
392
+ let stateReadFailed = !governorContract;
393
+ let proposalsReadFailed = false;
375
394
 
376
395
  if (governorContract) {
377
- try {
378
- [state, proposalData] = await Promise.all([
379
- governorContract.read.state([BigInt(p.proposalId)]),
380
- governorContract.read.proposals([BigInt(p.proposalId)]),
381
- ]);
382
- } catch (error) {
383
- console.warn("Failed to fetch state and proposalData:", error);
396
+ const statePromise = (async () =>
397
+ governorContract.read.state([BigInt(p.proposalId)]))();
398
+ const proposalsPromise = (async () =>
399
+ governorContract.read.proposals([BigInt(p.proposalId)]))();
400
+ const [stateResult, proposalsResult] = await Promise.allSettled([
401
+ statePromise,
402
+ proposalsPromise,
403
+ ]);
404
+ if (stateResult.status === "fulfilled") {
405
+ state = Number(stateResult.value);
406
+ } else {
407
+ stateReadFailed = true;
408
+ console.warn(
409
+ `Failed to fetch state for proposal ${p.proposalId} (chainId=${p.chainId}):`,
410
+ stateResult.reason,
411
+ );
412
+ governanceEnvironment.onError?.(stateResult.reason, {
413
+ source: "governance-proposals",
414
+ chainId: p.chainId,
415
+ });
384
416
  }
417
+ if (proposalsResult.status === "fulfilled") {
418
+ proposalData = proposalsResult.value ?? null;
419
+ } else {
420
+ proposalsReadFailed = true;
421
+ console.warn(
422
+ `Failed to fetch proposalData for proposal ${p.proposalId} (chainId=${p.chainId}):`,
423
+ proposalsResult.reason,
424
+ );
425
+ governanceEnvironment.onError?.(proposalsResult.reason, {
426
+ source: "governance-proposals",
427
+ chainId: p.chainId,
428
+ });
429
+ }
430
+ }
431
+
432
+ // State read produced nothing — derive from API events so a terminal
433
+ // proposal doesn't surface as Pending(0).
434
+ if (stateReadFailed) {
435
+ const formatted = formatApiProposalData(p);
436
+ state = deriveProposalStateFromApi(formatted, p, nowSeconds);
385
437
  }
386
438
 
387
439
  let eta = 0;
@@ -393,91 +445,61 @@ export const getProposalsOnChainData = async (
393
445
  } else {
394
446
  eta = onChainEta;
395
447
  }
396
- } else if (isMultichain && p.votingEndTime) {
397
- eta = p.votingEndTime + 86400; // 1 day
398
- }
399
-
400
- return { state, proposalData, eta, votesCollected: false, quorum };
401
- }),
402
- );
403
-
404
- const votesCollectedList = await Promise.all(
405
- apiProposals.map(async (apiProposal) => {
406
- if (apiProposal.chainId !== governanceEnvironment.chainId) {
407
- return false;
408
- }
409
-
410
- const isMultichain = isMultichainAware(apiProposal, legacyArtemisMaxId);
411
-
412
- if (
413
- !isMultichain ||
414
- !governanceEnvironment.contracts.multichainGovernor
448
+ } else if (
449
+ isMultichain &&
450
+ p.votingEndTime &&
451
+ !(proposalsReadFailed && !stateReadFailed)
415
452
  ) {
416
- return false;
417
- }
418
-
419
- const xcGovernanceSettings = governanceEnvironment.custom.governance;
420
- if (!xcGovernanceSettings || xcGovernanceSettings.chainIds.length === 0) {
421
- return false;
453
+ // Skip the synthetic eta only when proposals() was attempted+rejected
454
+ // but state succeeded — pairing real on-chain state with a fabricated
455
+ // countdown would silently diverge if the governor's
456
+ // `crossChainVoteCollectionPeriod` ever changes from the hardcoded
457
+ // 1 day. When state also failed (or no read was attempted at all),
458
+ // synthesize as a best-effort match to the API-derived state.
459
+ eta = p.votingEndTime + 86400; // 1 day
422
460
  }
423
461
 
424
- try {
425
- const xcEnvironments = xcGovernanceSettings.chainIds
426
- .map((chainId) =>
427
- Object.values(publicEnvironments).find(
428
- (env) => env.chainId === chainId,
429
- ),
430
- )
431
- .filter((env) => {
432
- if (!env) return false;
433
- const hasWormhole =
434
- env.custom &&
435
- "wormhole" in env.custom &&
436
- env.custom.wormhole?.chainId;
437
- const hasVoteCollector =
438
- env.contracts &&
439
- "voteCollector" in env.contracts &&
440
- env.contracts.voteCollector;
441
- return !!(hasWormhole && hasVoteCollector);
442
- });
443
-
444
- if (xcEnvironments.length === 0) {
445
- return false;
446
- }
447
-
448
- const votesCollectedChecks = await Promise.all(
449
- xcEnvironments.map(async (xcEnvironment) => {
450
- try {
451
- const wormholeChainId = (xcEnvironment!.custom as any)?.wormhole
452
- ?.chainId;
453
- if (!wormholeChainId) return false;
454
-
455
- const [forVotes, againstVotes, abstainVotes] =
456
- await governanceEnvironment.contracts.multichainGovernor!.read.chainVoteCollectorVotes(
457
- [wormholeChainId, BigInt(apiProposal.proposalId)],
458
- );
459
- return forVotes > 0n || againstVotes > 0n || abstainVotes > 0n;
460
- } catch (error) {
461
- return false;
462
- }
463
- }),
464
- );
465
-
466
- return (
467
- votesCollectedChecks.length > 0 &&
468
- votesCollectedChecks.every((collected) => collected)
469
- );
470
- } catch (error) {
471
- console.warn("Failed to check votes collected status:", error);
472
- return false;
473
- }
462
+ // Cross-chain vote collection is the multichain governor's own state
463
+ // machine: votes can only be bridged in during the post-voting
464
+ // `crossChainVoteCollectionPeriod`, and once that window closes the state
465
+ // advances to Succeeded/Defeated. So "collection complete" is exactly
466
+ // `state > MultichainVoteCollection`. Reading per-satellite tallies and
467
+ // AND-ing them would pin false forever for a satellite where no one
468
+ // voted (its entry stays [0,0,0] even after collection ends).
469
+ //
470
+ // NOTE: this comparison must run against the raw governor state — once
471
+ // we normalize through MultichainProposalStateMapping below, the values
472
+ // are in ProposalState space and the inequality stops being meaningful.
473
+ const votesCollected =
474
+ isMultichain &&
475
+ !stateReadFailed &&
476
+ state > MultichainProposalState.MultichainVoteCollection;
477
+
478
+ // Normalize successful multichain reads from MultichainProposalState
479
+ // (Active=0, MultichainVoteCollection=1, Canceled=2, Defeated=3,
480
+ // Succeeded=4, Executed=5) into the public ProposalState enum. Consumers
481
+ // compare against ProposalState constants — leaving the value raw would
482
+ // mislabel (e.g. MultichainVoteCollection(1) collides with
483
+ // ProposalState.Active(1)). The API-derived fallback path already
484
+ // returns ProposalState values, so we only map the read-succeeded case.
485
+ const normalizedState =
486
+ !stateReadFailed && isMultichain
487
+ ? ((MultichainProposalStateMapping as Record<number, ProposalState>)[
488
+ state
489
+ ] ?? state)
490
+ : state;
491
+
492
+ return {
493
+ state: normalizedState,
494
+ proposalData,
495
+ eta,
496
+ votesCollected,
497
+ quorum: proposalQuorum,
498
+ };
474
499
  }),
475
500
  );
476
501
 
477
- return onChainDataList.map((data, index) => ({
478
- ...data,
479
- votesCollected: votesCollectedList[index] ?? false,
480
- }));
502
+ return onChainDataList;
481
503
  };
482
504
 
483
505
  /**
@@ -127,9 +127,6 @@ async function getMoonbeamProposal(
127
127
  const onChainData = onChainDataList[0]!;
128
128
  const isMultichain = isMultichainProposal(apiProposal.targets);
129
129
 
130
- // For cross-chain proposals, onChainData.state is already API-derived inside
131
- // getProposalsOnChainData, so the post-processing below acts as a no-op
132
- // (votesCollected is false and the derived state is already terminal).
133
130
  const now = Math.floor(Date.now() / 1000);
134
131
  let proposalState = onChainData.state;
135
132
 
@@ -147,8 +144,13 @@ async function getMoonbeamProposal(
147
144
  isMultichain &&
148
145
  onChainData.votesCollected &&
149
146
  now > apiProposal.votingEndTime &&
150
- proposalState < ProposalState.Queued
147
+ proposalState === ProposalState.Succeeded
151
148
  ) {
149
+ // Succeeded with collection done means "awaiting execution" — surface as
150
+ // Queued so the frontend renders the "Ready to Execute" timeline step.
151
+ // Defeated/Canceled/Executed must NOT be promoted: under the new
152
+ // state-machine-based votesCollected, those terminal states also satisfy
153
+ // `votesCollected: true`, so a `< Queued` gate would mislabel them.
152
154
  proposalState = ProposalState.Queued;
153
155
  }
154
156
 
@@ -127,11 +127,6 @@ async function getMoonbeamProposals(
127
127
  const formattedData = formatApiProposalData(apiProposal);
128
128
  const isMultichain = isMultichainProposal(apiProposal.targets);
129
129
 
130
- // `onChainData.state` is already API-derived for cross-chain proposals
131
- // (handled inside getProposalsOnChainData), so the post-processing below
132
- // is a no-op for them — derived states already reflect executed/canceled/
133
- // queued/active/pending, and votesCollected is false so the Queued branch
134
- // never fires.
135
130
  const now = Math.floor(Date.now() / 1000);
136
131
  let proposalState = onChainData.state;
137
132
 
@@ -149,8 +144,14 @@ async function getMoonbeamProposals(
149
144
  isMultichain &&
150
145
  onChainData.votesCollected &&
151
146
  now > apiProposal.votingEndTime &&
152
- proposalState < ProposalState.Queued
147
+ proposalState === ProposalState.Succeeded
153
148
  ) {
149
+ // Succeeded with collection done means "awaiting execution" — surface
150
+ // as Queued so the frontend renders the "Ready to Execute" timeline
151
+ // step. Defeated/Canceled/Executed must NOT be promoted: under the new
152
+ // state-machine-based votesCollected, those terminal states also
153
+ // satisfy `votesCollected: true`, so a `< Queued` gate would mislabel
154
+ // them.
154
155
  proposalState = ProposalState.Queued;
155
156
  }
156
157
 
@@ -3,6 +3,10 @@ import { createCustomConfig } from "../../types/config.js";
3
3
  export const custom = createCustomConfig({
4
4
  governance: {
5
5
  token: "WELL",
6
+ // Empty: this field is also consumed as a `homeEnvironment` membership
7
+ // predicate by core/markets/user-rewards (see src/actions/core/user-rewards/
8
+ // common.ts:21). Listing Moonbeam here would mis-route Moonbeam's home env
9
+ // to Ethereum.
6
10
  chainIds: [],
7
11
  },
8
12
  wormhole: {
@@ -10,5 +10,8 @@ export const custom = createCustomConfig({
10
10
  token: "WELL",
11
11
  chainIds: [],
12
12
  },
13
+ wormhole: {
14
+ chainId: 24,
15
+ },
13
16
  multiRewarder: [{ rewardToken: "WELL" }, { rewardToken: "OP" }],
14
17
  });
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.17.1'
1
+ export const version = '0.18.0'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@moonwell-fi/moonwell-sdk",
3
3
  "description": "TypeScript Interface for Moonwell",
4
- "version": "0.17.1",
4
+ "version": "0.18.0",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",