@moonwell-fi/moonwell-sdk 0.17.0 → 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.
- package/CHANGELOG.md +12 -0
- package/_cjs/actions/governance/getDelegates.js +1 -5
- package/_cjs/actions/governance/getDelegates.js.map +1 -1
- package/_cjs/actions/governance/getUserVotingPowers.js +1 -9
- package/_cjs/actions/governance/getUserVotingPowers.js.map +1 -1
- package/_cjs/actions/governance/proposals/common.js +68 -71
- package/_cjs/actions/governance/proposals/common.js.map +1 -1
- package/_cjs/actions/governance/proposals/getProposal.js +1 -1
- package/_cjs/actions/governance/proposals/getProposal.js.map +1 -1
- package/_cjs/actions/governance/proposals/getProposals.js +1 -1
- package/_cjs/actions/governance/proposals/getProposals.js.map +1 -1
- package/_cjs/environments/definitions/ethereum/custom.js.map +1 -1
- package/_cjs/environments/definitions/optimism/custom.js +3 -0
- package/_cjs/environments/definitions/optimism/custom.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_esm/actions/governance/getDelegates.js +1 -8
- package/_esm/actions/governance/getDelegates.js.map +1 -1
- package/_esm/actions/governance/getUserVotingPowers.js +1 -13
- package/_esm/actions/governance/getUserVotingPowers.js.map +1 -1
- package/_esm/actions/governance/proposals/common.js +98 -78
- package/_esm/actions/governance/proposals/common.js.map +1 -1
- package/_esm/actions/governance/proposals/getProposal.js +6 -4
- package/_esm/actions/governance/proposals/getProposal.js.map +1 -1
- package/_esm/actions/governance/proposals/getProposals.js +7 -6
- package/_esm/actions/governance/proposals/getProposals.js.map +1 -1
- package/_esm/environments/definitions/ethereum/custom.js +4 -0
- package/_esm/environments/definitions/ethereum/custom.js.map +1 -1
- package/_esm/environments/definitions/optimism/custom.js +3 -0
- package/_esm/environments/definitions/optimism/custom.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_types/actions/governance/getDelegates.d.ts.map +1 -1
- package/_types/actions/governance/getUserVotingPowers.d.ts.map +1 -1
- package/_types/actions/governance/proposals/common.d.ts +1 -0
- package/_types/actions/governance/proposals/common.d.ts.map +1 -1
- package/_types/client/createMoonwellClient.d.ts +6 -0
- package/_types/client/createMoonwellClient.d.ts.map +1 -1
- package/_types/environments/definitions/ethereum/custom.d.ts.map +1 -1
- package/_types/environments/definitions/optimism/custom.d.ts +3 -0
- package/_types/environments/definitions/optimism/custom.d.ts.map +1 -1
- package/_types/environments/definitions/optimism/environment.d.ts +3 -0
- package/_types/environments/definitions/optimism/environment.d.ts.map +1 -1
- package/_types/environments/index.d.ts +3 -0
- package/_types/environments/index.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/actions/governance/getDelegates.ts +1 -9
- package/actions/governance/getUserVotingPowers.ts +1 -14
- package/actions/governance/proposals/common.ts +123 -101
- package/actions/governance/proposals/getProposal.ts +6 -4
- package/actions/governance/proposals/getProposals.ts +7 -6
- package/environments/definitions/ethereum/custom.ts +4 -0
- package/environments/definitions/optimism/custom.ts +3 -0
- package/errors/version.ts +1 -1
- package/package.json +1 -1
- package/_cjs/actions/governance/votingPolicy.js +0 -8
- package/_cjs/actions/governance/votingPolicy.js.map +0 -1
- package/_esm/actions/governance/votingPolicy.js +0 -9
- package/_esm/actions/governance/votingPolicy.js.map +0 -1
- package/_types/actions/governance/votingPolicy.d.ts +0 -2
- package/_types/actions/governance/votingPolicy.d.ts.map +0 -1
- package/actions/governance/votingPolicy.ts +0 -9
|
@@ -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.
|
|
1
|
+
export declare const version = "0.18.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -9,7 +9,6 @@ import * as logger from "../../logger/console.js";
|
|
|
9
9
|
import type { Delegate } from "../../types/delegate.js";
|
|
10
10
|
import { getWithRetry } from "../axiosWithRetry.js";
|
|
11
11
|
import { fetchAllVoters } from "./governor-api-client.js";
|
|
12
|
-
import { RAW_WELL_MASKED_CHAINS } from "./votingPolicy.js";
|
|
13
12
|
|
|
14
13
|
export type GetDelegatesReturnType = Promise<Delegate[]>;
|
|
15
14
|
|
|
@@ -65,17 +64,10 @@ export async function getDelegates(
|
|
|
65
64
|
const { claimsVotes, stakingVotes, tokenVotes } =
|
|
66
65
|
userVotingPowers[reduceIndex]!;
|
|
67
66
|
|
|
68
|
-
// Raw WELL (tokenVotes) is no longer an eligible voting source on
|
|
69
|
-
// Moonbeam — see comment in getUserVotingPowers.ts. Mask it here so
|
|
70
|
-
// delegate rankings reflect the new policy.
|
|
71
|
-
const eligibleTokenVotes = RAW_WELL_MASKED_CHAINS.has(env.chainId)
|
|
72
|
-
? 0n
|
|
73
|
-
: tokenVotes.delegatedVotingPower;
|
|
74
|
-
|
|
75
67
|
const totalVotes =
|
|
76
68
|
claimsVotes.delegatedVotingPower +
|
|
77
69
|
stakingVotes.delegatedVotingPower +
|
|
78
|
-
|
|
70
|
+
tokenVotes.delegatedVotingPower;
|
|
79
71
|
|
|
80
72
|
votingPower[env.chainId] = Number(totalVotes / BigInt(10 ** 18));
|
|
81
73
|
});
|
|
@@ -8,17 +8,6 @@ import {
|
|
|
8
8
|
import type { OptionalNetworkParameterType } from "../../common/types.js";
|
|
9
9
|
import type { Chain, GovernanceToken } from "../../environments/index.js";
|
|
10
10
|
import type { UserVotingPowers } from "../../types/userVotingPowers.js";
|
|
11
|
-
import { RAW_WELL_MASKED_CHAINS } from "./votingPolicy.js";
|
|
12
|
-
|
|
13
|
-
// Raw WELL (even delegated) is no longer an eligible voting source on Moonbeam —
|
|
14
|
-
// eligible voting now flows through stkWELL (stakingVotes) and xWELL only. The
|
|
15
|
-
// Moonbeam views contract still returns a non-zero tokenVotes tuple, so the SDK
|
|
16
|
-
// masks it here to keep `totalDelegated` and the per-source breakdown honest.
|
|
17
|
-
const ZERO_TOKEN_VOTES = {
|
|
18
|
-
delegates: zeroAddress,
|
|
19
|
-
votingPower: 0n,
|
|
20
|
-
delegatedVotingPower: 0n,
|
|
21
|
-
} as const;
|
|
22
11
|
|
|
23
12
|
const warnedSkippedEnvs = new Set<string>();
|
|
24
13
|
|
|
@@ -108,9 +97,7 @@ export async function getUserVotingPowers<
|
|
|
108
97
|
);
|
|
109
98
|
|
|
110
99
|
return resolvedVotingPowers.map(({ env: environment, votingPowers }) => {
|
|
111
|
-
const tokenVotes =
|
|
112
|
-
? ZERO_TOKEN_VOTES
|
|
113
|
-
: votingPowers.tokenVotes;
|
|
100
|
+
const { tokenVotes } = votingPowers;
|
|
114
101
|
|
|
115
102
|
return {
|
|
116
103
|
chainId: environment.chainId,
|
|
@@ -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 = (
|
|
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
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
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:
|
|
375
|
+
quorum: proposalQuorum,
|
|
364
376
|
};
|
|
365
377
|
}
|
|
366
378
|
|
|
367
|
-
|
|
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
|
-
?
|
|
371
|
-
:
|
|
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
|
-
|
|
378
|
-
[
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
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 (
|
|
397
|
-
|
|
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
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
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
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
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
|
|
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
|
|
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
|
|
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: {
|
package/errors/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '0.
|
|
1
|
+
export const version = '0.18.0'
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RAW_WELL_MASKED_CHAINS = void 0;
|
|
4
|
-
const chains_1 = require("viem/chains");
|
|
5
|
-
exports.RAW_WELL_MASKED_CHAINS = new Set([
|
|
6
|
-
chains_1.moonbeam.id,
|
|
7
|
-
]);
|
|
8
|
-
//# sourceMappingURL=votingPolicy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"votingPolicy.js","sourceRoot":"","sources":["../../../actions/governance/votingPolicy.ts"],"names":[],"mappings":";;;AAAA,wCAAuC;AAM1B,QAAA,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IACjE,iBAAQ,CAAC,EAAE;CACZ,CAAC,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { moonbeam } from "viem/chains";
|
|
2
|
-
// Chains where raw WELL (`tokenVotes`) is no longer an eligible voting source.
|
|
3
|
-
// Centralized so `getUserVotingPowers` and `getDelegates` consult a single
|
|
4
|
-
// source of truth — if the policy expands or reverses, both call sites move
|
|
5
|
-
// together. See the comment block in `getUserVotingPowers.ts` for the why.
|
|
6
|
-
export const RAW_WELL_MASKED_CHAINS = new Set([
|
|
7
|
-
moonbeam.id,
|
|
8
|
-
]);
|
|
9
|
-
//# sourceMappingURL=votingPolicy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"votingPolicy.js","sourceRoot":"","sources":["../../../actions/governance/votingPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,+EAA+E;AAC/E,2EAA2E;AAC3E,4EAA4E;AAC5E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IACjE,QAAQ,CAAC,EAAE;CACZ,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"votingPolicy.d.ts","sourceRoot":"","sources":["../../../actions/governance/votingPolicy.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAErD,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { moonbeam } from "viem/chains";
|
|
2
|
-
|
|
3
|
-
// Chains where raw WELL (`tokenVotes`) is no longer an eligible voting source.
|
|
4
|
-
// Centralized so `getUserVotingPowers` and `getDelegates` consult a single
|
|
5
|
-
// source of truth — if the policy expands or reverses, both call sites move
|
|
6
|
-
// together. See the comment block in `getUserVotingPowers.ts` for the why.
|
|
7
|
-
export const RAW_WELL_MASKED_CHAINS: ReadonlySet<number> = new Set([
|
|
8
|
-
moonbeam.id,
|
|
9
|
-
]);
|