@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.
- package/CHANGELOG.md +41 -0
- package/README.md +9 -3
- package/_cjs/actions/beam/common.js +1 -2
- package/_cjs/actions/beam/common.js.map +1 -1
- package/_cjs/actions/core/markets/common.js +146 -96
- package/_cjs/actions/core/markets/common.js.map +1 -1
- package/_cjs/actions/governance/getDelegates.js +2 -7
- package/_cjs/actions/governance/getDelegates.js.map +1 -1
- package/_cjs/actions/governance/getGovernanceTokenInfo.js +7 -12
- package/_cjs/actions/governance/getGovernanceTokenInfo.js.map +1 -1
- package/_cjs/actions/governance/getUserVoteReceipt.js +5 -4
- package/_cjs/actions/governance/getUserVoteReceipt.js.map +1 -1
- package/_cjs/actions/governance/governor-api-client.js.map +1 -1
- package/_cjs/actions/governance/proposals/common.js +73 -6
- package/_cjs/actions/governance/proposals/common.js.map +1 -1
- package/_cjs/actions/governance/proposals/getProposal.js +6 -73
- package/_cjs/actions/governance/proposals/getProposal.js.map +1 -1
- package/_cjs/actions/governance/proposals/getProposals.js +12 -92
- package/_cjs/actions/governance/proposals/getProposals.js.map +1 -1
- package/_cjs/client/createMoonwellClient.js +17 -15
- package/_cjs/client/createMoonwellClient.js.map +1 -1
- package/_cjs/common/index.js +4 -4
- package/_cjs/common/index.js.map +1 -1
- package/_cjs/environments/definitions/governance.js +1 -8
- package/_cjs/environments/definitions/governance.js.map +1 -1
- package/_cjs/environments/index.js +28 -42
- package/_cjs/environments/index.js.map +1 -1
- package/_cjs/environments/types/config.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_esm/actions/beam/common.js +3 -2
- package/_esm/actions/beam/common.js.map +1 -1
- package/_esm/actions/core/markets/common.js +192 -104
- package/_esm/actions/core/markets/common.js.map +1 -1
- package/_esm/actions/governance/getDelegates.js +8 -8
- package/_esm/actions/governance/getDelegates.js.map +1 -1
- package/_esm/actions/governance/getGovernanceTokenInfo.js +20 -13
- package/_esm/actions/governance/getGovernanceTokenInfo.js.map +1 -1
- package/_esm/actions/governance/getUserVoteReceipt.js +16 -5
- package/_esm/actions/governance/getUserVoteReceipt.js.map +1 -1
- package/_esm/actions/governance/governor-api-client.js +14 -5
- package/_esm/actions/governance/governor-api-client.js.map +1 -1
- package/_esm/actions/governance/proposals/common.js +122 -10
- package/_esm/actions/governance/proposals/common.js.map +1 -1
- package/_esm/actions/governance/proposals/getProposal.js +16 -93
- package/_esm/actions/governance/proposals/getProposal.js.map +1 -1
- package/_esm/actions/governance/proposals/getProposals.js +37 -132
- package/_esm/actions/governance/proposals/getProposals.js.map +1 -1
- package/_esm/client/createMoonwellClient.js +24 -16
- package/_esm/client/createMoonwellClient.js.map +1 -1
- package/_esm/common/index.js +15 -4
- package/_esm/common/index.js.map +1 -1
- package/_esm/environments/definitions/governance.js +5 -9
- package/_esm/environments/definitions/governance.js.map +1 -1
- package/_esm/environments/index.js +2 -14
- package/_esm/environments/index.js.map +1 -1
- package/_esm/environments/types/config.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_types/actions/beam/common.d.ts +1 -1
- package/_types/actions/beam/common.d.ts.map +1 -1
- package/_types/actions/core/markets/common.d.ts.map +1 -1
- package/_types/actions/governance/getGovernanceTokenInfo.d.ts.map +1 -1
- package/_types/actions/governance/getUserVoteReceipt.d.ts.map +1 -1
- package/_types/actions/governance/governor-api-client.d.ts +14 -5
- package/_types/actions/governance/governor-api-client.d.ts.map +1 -1
- package/_types/actions/governance/proposals/common.d.ts +41 -6
- package/_types/actions/governance/proposals/common.d.ts.map +1 -1
- package/_types/actions/governance/proposals/getProposal.d.ts +1 -1
- package/_types/actions/governance/proposals/getProposal.d.ts.map +1 -1
- package/_types/actions/governance/proposals/getProposals.d.ts +1 -1
- package/_types/actions/governance/proposals/getProposals.d.ts.map +1 -1
- package/_types/client/createMoonwellClient.d.ts +9 -839
- package/_types/client/createMoonwellClient.d.ts.map +1 -1
- package/_types/common/index.d.ts +11 -0
- package/_types/common/index.d.ts.map +1 -1
- package/_types/environments/definitions/governance.d.ts +0 -7
- package/_types/environments/definitions/governance.d.ts.map +1 -1
- package/_types/environments/index.d.ts +5 -516
- package/_types/environments/index.d.ts.map +1 -1
- package/_types/environments/types/config.d.ts +14 -0
- package/_types/environments/types/config.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/actions/beam/common.ts +4 -9
- package/actions/core/markets/common.ts +307 -166
- package/actions/governance/getDelegates.ts +8 -8
- package/actions/governance/getGovernanceTokenInfo.ts +23 -15
- package/actions/governance/getUserVoteReceipt.ts +19 -5
- package/actions/governance/governor-api-client.ts +14 -5
- package/actions/governance/proposals/common.ts +143 -10
- package/actions/governance/proposals/getProposal.ts +29 -112
- package/actions/governance/proposals/getProposals.ts +52 -153
- package/client/createMoonwellClient.ts +32 -40
- package/common/index.ts +17 -6
- package/environments/definitions/governance.ts +5 -9
- package/environments/index.ts +28 -70
- package/environments/types/config.ts +14 -0
- package/errors/version.ts +1 -1
- package/package.json +1 -1
- package/_cjs/environments/definitions/moonbeam/contracts.js +0 -22
- package/_cjs/environments/definitions/moonbeam/contracts.js.map +0 -1
- package/_cjs/environments/definitions/moonbeam/core-markets.js +0 -65
- package/_cjs/environments/definitions/moonbeam/core-markets.js.map +0 -1
- package/_cjs/environments/definitions/moonbeam/custom.js +0 -24
- package/_cjs/environments/definitions/moonbeam/custom.js.map +0 -1
- package/_cjs/environments/definitions/moonbeam/environment.js +0 -38
- package/_cjs/environments/definitions/moonbeam/environment.js.map +0 -1
- package/_cjs/environments/definitions/moonbeam/tokens.js +0 -176
- package/_cjs/environments/definitions/moonbeam/tokens.js.map +0 -1
- package/_cjs/environments/definitions/moonriver/contracts.js +0 -19
- package/_cjs/environments/definitions/moonriver/contracts.js.map +0 -1
- package/_cjs/environments/definitions/moonriver/core-markets.js +0 -46
- package/_cjs/environments/definitions/moonriver/core-markets.js.map +0 -1
- package/_cjs/environments/definitions/moonriver/custom.js +0 -12
- package/_cjs/environments/definitions/moonriver/custom.js.map +0 -1
- package/_cjs/environments/definitions/moonriver/environment.js +0 -36
- package/_cjs/environments/definitions/moonriver/environment.js.map +0 -1
- package/_cjs/environments/definitions/moonriver/tokens.js +0 -110
- package/_cjs/environments/definitions/moonriver/tokens.js.map +0 -1
- package/_esm/environments/definitions/moonbeam/contracts.js +0 -19
- package/_esm/environments/definitions/moonbeam/contracts.js.map +0 -1
- package/_esm/environments/definitions/moonbeam/core-markets.js +0 -62
- package/_esm/environments/definitions/moonbeam/core-markets.js.map +0 -1
- package/_esm/environments/definitions/moonbeam/custom.js +0 -21
- package/_esm/environments/definitions/moonbeam/custom.js.map +0 -1
- package/_esm/environments/definitions/moonbeam/environment.js +0 -32
- package/_esm/environments/definitions/moonbeam/environment.js.map +0 -1
- package/_esm/environments/definitions/moonbeam/tokens.js +0 -173
- package/_esm/environments/definitions/moonbeam/tokens.js.map +0 -1
- package/_esm/environments/definitions/moonriver/contracts.js +0 -16
- package/_esm/environments/definitions/moonriver/contracts.js.map +0 -1
- package/_esm/environments/definitions/moonriver/core-markets.js +0 -43
- package/_esm/environments/definitions/moonriver/core-markets.js.map +0 -1
- package/_esm/environments/definitions/moonriver/custom.js +0 -9
- package/_esm/environments/definitions/moonriver/custom.js.map +0 -1
- package/_esm/environments/definitions/moonriver/environment.js +0 -31
- package/_esm/environments/definitions/moonriver/environment.js.map +0 -1
- package/_esm/environments/definitions/moonriver/tokens.js +0 -107
- package/_esm/environments/definitions/moonriver/tokens.js.map +0 -1
- package/_types/environments/definitions/moonbeam/contracts.d.ts +0 -14
- package/_types/environments/definitions/moonbeam/contracts.d.ts.map +0 -1
- package/_types/environments/definitions/moonbeam/core-markets.d.ts +0 -57
- package/_types/environments/definitions/moonbeam/core-markets.d.ts.map +0 -1
- package/_types/environments/definitions/moonbeam/custom.d.ts +0 -25
- package/_types/environments/definitions/moonbeam/custom.d.ts.map +0 -1
- package/_types/environments/definitions/moonbeam/environment.d.ts +0 -265
- package/_types/environments/definitions/moonbeam/environment.d.ts.map +0 -1
- package/_types/environments/definitions/moonbeam/tokens.d.ts +0 -171
- package/_types/environments/definitions/moonbeam/tokens.d.ts.map +0 -1
- package/_types/environments/definitions/moonriver/contracts.d.ts +0 -11
- package/_types/environments/definitions/moonriver/contracts.d.ts.map +0 -1
- package/_types/environments/definitions/moonriver/core-markets.d.ts +0 -38
- package/_types/environments/definitions/moonriver/core-markets.d.ts.map +0 -1
- package/_types/environments/definitions/moonriver/custom.d.ts +0 -8
- package/_types/environments/definitions/moonriver/custom.d.ts.map +0 -1
- package/_types/environments/definitions/moonriver/environment.d.ts +0 -159
- package/_types/environments/definitions/moonriver/environment.d.ts.map +0 -1
- package/_types/environments/definitions/moonriver/tokens.d.ts +0 -105
- package/_types/environments/definitions/moonriver/tokens.d.ts.map +0 -1
- package/environments/definitions/moonbeam/contracts.ts +0 -19
- package/environments/definitions/moonbeam/core-markets.ts +0 -62
- package/environments/definitions/moonbeam/custom.ts +0 -21
- package/environments/definitions/moonbeam/environment.ts +0 -39
- package/environments/definitions/moonbeam/tokens.ts +0 -173
- package/environments/definitions/moonriver/contracts.ts +0 -16
- package/environments/definitions/moonriver/core-markets.ts +0 -43
- package/environments/definitions/moonriver/custom.ts +0 -9
- package/environments/definitions/moonriver/environment.ts +0 -38
- package/environments/definitions/moonriver/tokens.ts +0 -107
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governor-api-client.js","sourceRoot":"","sources":["../../../actions/governance/governor-api-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,WAAwB,EAAU,EAAE;IAC7D,OAAO,WAAW,CAAC,oBAAoB,CAAC;AAC1C,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"governor-api-client.js","sourceRoot":"","sources":["../../../actions/governance/governor-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
|
+
import { mainnet } from "viem/chains";
|
|
2
3
|
import { Amount } from "../../../common/index.js";
|
|
3
4
|
import { publicEnvironments } from "../../../environments/index.js";
|
|
4
5
|
import { MultichainProposalState, MultichainProposalStateMapping, ProposalState, } from "../../../types/proposal.js";
|
|
@@ -120,14 +121,24 @@ export const isMultichainAware = (proposal, legacyArtemisMaxId) => isMultichainP
|
|
|
120
121
|
/**
|
|
121
122
|
* Derive a ProposalState value from API data alone (no on-chain read).
|
|
122
123
|
*
|
|
123
|
-
* Used for proposals whose chainId
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
124
|
+
* Used for proposals whose chainId has no resolvable environment, or whose
|
|
125
|
+
* on-chain state read failed. Since the sunset (MOO-551) this is the permanent
|
|
126
|
+
* — not transient — route for every Moonbeam (1284) and Moonriver (1285)
|
|
127
|
+
* proposal, because no environment exists for those chains any more.
|
|
127
128
|
*
|
|
128
|
-
* Precedence (highest wins):
|
|
129
|
+
* Precedence (highest wins):
|
|
130
|
+
* Executed → Canceled → Queued → Active → Succeeded/Defeated → Pending.
|
|
129
131
|
* Executed wins over Canceled because the SDK treats EXECUTED state changes as
|
|
130
132
|
* the terminal truth even when an earlier CANCELED event is present.
|
|
133
|
+
*
|
|
134
|
+
* Once voting has closed with no terminal state change, the outcome is decided
|
|
135
|
+
* from the tallies. Without that branch every defeated archive proposal fell
|
|
136
|
+
* through to `Pending` and listed as perpetually pending — the pre-sunset
|
|
137
|
+
* Moonbeam governor read used to report the real `Defeated`. The tallies are
|
|
138
|
+
* the only signal available here: quorum needs an RPC and reports 0 for the
|
|
139
|
+
* archive, so a for-majority that missed quorum reads as Succeeded rather than
|
|
140
|
+
* Defeated. That is the same degradation quorum already carries, and it is
|
|
141
|
+
* strictly closer to the truth than Pending.
|
|
131
142
|
*/
|
|
132
143
|
export const deriveProposalStateFromApi = (formatted, apiProposal, now) => {
|
|
133
144
|
if (formatted.executed)
|
|
@@ -140,6 +151,11 @@ export const deriveProposalStateFromApi = (formatted, apiProposal, now) => {
|
|
|
140
151
|
if (now >= apiProposal.votingStartTime && now <= apiProposal.votingEndTime) {
|
|
141
152
|
return ProposalState.Active;
|
|
142
153
|
}
|
|
154
|
+
if (now > apiProposal.votingEndTime) {
|
|
155
|
+
return formatted.forVotes.exponential > formatted.againstVotes.exponential
|
|
156
|
+
? ProposalState.Succeeded
|
|
157
|
+
: ProposalState.Defeated;
|
|
158
|
+
}
|
|
143
159
|
return ProposalState.Pending;
|
|
144
160
|
};
|
|
145
161
|
/**
|
|
@@ -226,6 +242,22 @@ const getLegacyArtemisMaxId = async (governanceEnvironment) => {
|
|
|
226
242
|
* carries `onError` since we don't have one per foreign chain in scope.
|
|
227
243
|
*/
|
|
228
244
|
export const getEnvironmentByChainId = (chainId) => Object.values(publicEnvironments).find((e) => e.chainId === chainId);
|
|
245
|
+
/**
|
|
246
|
+
* The environment that drives Governor-API reads for the whole proposal surface.
|
|
247
|
+
*
|
|
248
|
+
* Before the sunset this was the caller's Moonbeam/Moonriver environment, and
|
|
249
|
+
* both `getProposals` and `getProposal` gated on one of those being registered.
|
|
250
|
+
* Those chains are gone (MOO-551), so governance is now homed on the Ethereum
|
|
251
|
+
* multigov hub. Every environment resolves the same `governanceIndexerUrl`, so
|
|
252
|
+
* any registered chain can serve the indexer — Ethereum is merely preferred
|
|
253
|
+
* because its `multichainGovernor` also answers the live quorum/state reads.
|
|
254
|
+
*
|
|
255
|
+
* Consequence for the historical archive: Moonbeam (1284) and Moonriver (1285)
|
|
256
|
+
* proposals still list, because the indexer keeps serving them, but nothing
|
|
257
|
+
* on-chain can be read for them any more. They surface with indexer-derived
|
|
258
|
+
* state and no quorum or eta — see `getProposalsOnChainData`'s `!homeEnv` path.
|
|
259
|
+
*/
|
|
260
|
+
export const resolveGovernanceEnvironment = (environments) => environments.find((e) => e.chainId === mainnet.id) ?? environments[0];
|
|
229
261
|
export const readCrossChainQuorums = async (apiProposals, governanceEnvironment) => {
|
|
230
262
|
const otherChainIds = Array.from(new Set(apiProposals
|
|
231
263
|
.map((p) => p.chainId)
|
|
@@ -254,12 +286,17 @@ export const readCrossChainQuorums = async (apiProposals, governanceEnvironment)
|
|
|
254
286
|
*/
|
|
255
287
|
export const getProposalsOnChainData = async (apiProposals, governanceEnvironment, options) => {
|
|
256
288
|
let quorum = 0n;
|
|
257
|
-
|
|
289
|
+
// The governance environment is now the Ethereum multigov hub (MOO-551), which
|
|
290
|
+
// has a `multichainGovernor` and no legacy `governor`. Read whichever the env
|
|
291
|
+
// actually wires, otherwise a hub-local proposal would report quorum 0.
|
|
292
|
+
const localQuorumRead = governanceEnvironment.contracts.governor
|
|
293
|
+
? () => governanceEnvironment.contracts.governor?.read.getQuorum()
|
|
294
|
+
: governanceEnvironment.contracts.multichainGovernor
|
|
295
|
+
? () => governanceEnvironment.contracts.multichainGovernor?.read.quorum()
|
|
296
|
+
: undefined;
|
|
297
|
+
if (localQuorumRead) {
|
|
258
298
|
try {
|
|
259
|
-
quorum =
|
|
260
|
-
governanceEnvironment.chainId === 1284
|
|
261
|
-
? await governanceEnvironment.contracts.governor.read.quorumVotes()
|
|
262
|
-
: await governanceEnvironment.contracts.governor.read.getQuorum();
|
|
299
|
+
quorum = (await localQuorumRead()) ?? 0n;
|
|
263
300
|
}
|
|
264
301
|
catch (error) {
|
|
265
302
|
console.warn("Failed to fetch quorum:", error);
|
|
@@ -417,4 +454,79 @@ export const getProposalsOnChainData = async (apiProposals, governanceEnvironmen
|
|
|
417
454
|
}));
|
|
418
455
|
return onChainDataList;
|
|
419
456
|
};
|
|
457
|
+
/**
|
|
458
|
+
* Map an indexer proposal plus its on-chain data onto the public `Proposal`.
|
|
459
|
+
*
|
|
460
|
+
* `getProposal` and `getProposals` both used to carry their own copy of this
|
|
461
|
+
* block, and both carried a comment warning the other not to drift from it —
|
|
462
|
+
* jscpd measured 69 duplicated lines between them. One implementation removes
|
|
463
|
+
* the drift risk those comments were describing.
|
|
464
|
+
*/
|
|
465
|
+
export const mapApiProposalToProposal = (apiProposal, onChainData, governanceEnvironment) => {
|
|
466
|
+
const formattedData = formatApiProposalData(apiProposal);
|
|
467
|
+
// getProposalsOnChainData already classified this proposal and routed its
|
|
468
|
+
// reads accordingly; re-classifying here would drift and drop `multichain`.
|
|
469
|
+
const isMultichain = onChainData.isMultichain;
|
|
470
|
+
const now = Math.floor(Date.now() / 1000);
|
|
471
|
+
let proposalState = onChainData.state;
|
|
472
|
+
if (proposalState === ProposalState.Pending &&
|
|
473
|
+
now >= apiProposal.votingStartTime &&
|
|
474
|
+
now <= apiProposal.votingEndTime) {
|
|
475
|
+
proposalState = ProposalState.Active;
|
|
476
|
+
}
|
|
477
|
+
if (formattedData.executed) {
|
|
478
|
+
proposalState = ProposalState.Executed;
|
|
479
|
+
}
|
|
480
|
+
else if (isMultichain &&
|
|
481
|
+
onChainData.votesCollected &&
|
|
482
|
+
now > apiProposal.votingEndTime &&
|
|
483
|
+
proposalState === ProposalState.Succeeded) {
|
|
484
|
+
// Succeeded with collection done means "awaiting execution" — surface as
|
|
485
|
+
// Queued so the frontend renders the "Ready to Execute" timeline step.
|
|
486
|
+
// Defeated/Canceled/Executed must NOT be promoted: under the
|
|
487
|
+
// state-machine-based votesCollected those terminal states also satisfy
|
|
488
|
+
// `votesCollected: true`, so a `< Queued` gate would mislabel them.
|
|
489
|
+
proposalState = ProposalState.Queued;
|
|
490
|
+
}
|
|
491
|
+
const proposal = {
|
|
492
|
+
id: apiProposal.proposalId,
|
|
493
|
+
chainId: apiProposal.chainId,
|
|
494
|
+
proposalId: apiProposal.proposalId,
|
|
495
|
+
proposer: apiProposal.proposer,
|
|
496
|
+
eta: onChainData.eta,
|
|
497
|
+
startTimestamp: apiProposal.votingStartTime,
|
|
498
|
+
endTimestamp: apiProposal.votingEndTime,
|
|
499
|
+
startBlock: Number(apiProposal.blockNumber),
|
|
500
|
+
forVotes: formattedData.forVotes,
|
|
501
|
+
againstVotes: formattedData.againstVotes,
|
|
502
|
+
abstainVotes: formattedData.abstainVotes,
|
|
503
|
+
totalVotes: formattedData.totalVotes,
|
|
504
|
+
canceled: formattedData.canceled,
|
|
505
|
+
executed: formattedData.executed,
|
|
506
|
+
quorum: new Amount(onChainData.quorum, 18),
|
|
507
|
+
state: proposalState,
|
|
508
|
+
// Extended data
|
|
509
|
+
title: formattedData.title,
|
|
510
|
+
subtitle: formattedData.subtitle,
|
|
511
|
+
description: apiProposal.description,
|
|
512
|
+
targets: apiProposal.targets,
|
|
513
|
+
calldatas: apiProposal.calldatas,
|
|
514
|
+
// Legacy-governor proposals (Moonriver, early Moonbeam) carry the function
|
|
515
|
+
// signature separately from the selector-less calldata; pass it through so
|
|
516
|
+
// consumers can decode the call. Empty for multichain-governor proposals.
|
|
517
|
+
signatures: apiProposal.signatures ?? [],
|
|
518
|
+
stateChanges: formattedData.stateChanges,
|
|
519
|
+
environment: governanceEnvironment,
|
|
520
|
+
};
|
|
521
|
+
if (apiProposal.snapshotBlocks) {
|
|
522
|
+
proposal.snapshotBlocks = apiProposal.snapshotBlocks;
|
|
523
|
+
}
|
|
524
|
+
if (isMultichain) {
|
|
525
|
+
proposal.multichain = {
|
|
526
|
+
id: apiProposal.proposalId,
|
|
527
|
+
votesCollected: onChainData.votesCollected,
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
return proposal;
|
|
531
|
+
};
|
|
420
532
|
//# 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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"}
|
|
@@ -1,36 +1,19 @@
|
|
|
1
|
-
import { mainnet, moonbeam, moonriver } from "viem/chains";
|
|
2
|
-
import { Amount, getEnvironmentFromArgs } from "../../../common/index.js";
|
|
3
|
-
import { ProposalState } from "../../../types/proposal.js";
|
|
4
1
|
import { MULTIGOV_PROPOSAL_FALLBACK_CHAIN_IDS, fetchProposal, isNotFoundError, } from "../governor-api-client.js";
|
|
5
2
|
import { resolveIpfsDescriptions } from "../ipfs.js";
|
|
6
|
-
import {
|
|
3
|
+
import { getProposalsOnChainData, mapApiProposalToProposal, readCrossChainQuorums, resolveGovernanceEnvironment, } from "./common.js";
|
|
7
4
|
export async function getProposal(client, args) {
|
|
8
5
|
const { proposalId } = args;
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
// `args.chainId` identifies the chain the PROPOSAL lives on, which is no longer
|
|
7
|
+
// the same thing as the environment we read through. Before the sunset it was
|
|
8
|
+
// both, and the action resolved a Moonbeam/Moonriver environment from it —
|
|
9
|
+
// which now means a `chainId: 1284` lookup would resolve nothing and the whole
|
|
10
|
+
// historical archive would 404 (MOO-551). Resolve the indexer source
|
|
11
|
+
// independently and pass `chainId` through untouched.
|
|
12
|
+
const governanceEnvironment = resolveGovernanceEnvironment(Object.values(client.environments));
|
|
13
|
+
if (!governanceEnvironment) {
|
|
11
14
|
return undefined;
|
|
12
15
|
}
|
|
13
|
-
|
|
14
|
-
// historical Moonbeam ones (the lunar indexer fans out both chainIds), so
|
|
15
|
-
// route them through `getGovernorApiProposal` using the Moonbeam env as the
|
|
16
|
-
// indexer source. Without this, a caller resolving the env by `chainId: 1`
|
|
17
|
-
// would bail out on the `!moonbeam && !moonriver` check below and the page
|
|
18
|
-
// reload path returns undefined.
|
|
19
|
-
if (environment.chainId === mainnet.id) {
|
|
20
|
-
const moonbeamEnv = Object.values(client.environments).find((e) => e.chainId === moonbeam.id);
|
|
21
|
-
if (!moonbeamEnv) {
|
|
22
|
-
return undefined;
|
|
23
|
-
}
|
|
24
|
-
return getGovernorApiProposal(moonbeamEnv, proposalId, args.chainId ?? mainnet.id);
|
|
25
|
-
}
|
|
26
|
-
if (environment.chainId !== moonbeam.id &&
|
|
27
|
-
environment.chainId !== moonriver.id) {
|
|
28
|
-
return undefined;
|
|
29
|
-
}
|
|
30
|
-
if (environment.chainId === moonbeam.id) {
|
|
31
|
-
return getGovernorApiProposal(environment, proposalId, args.chainId);
|
|
32
|
-
}
|
|
33
|
-
return getGovernorApiProposal(environment, proposalId, moonriver.id);
|
|
16
|
+
return getGovernorApiProposal(governanceEnvironment, proposalId, args.chainId);
|
|
34
17
|
}
|
|
35
18
|
/**
|
|
36
19
|
* Fetch a single proposal from the Governor API (Moonbeam/Ethereum multigov or
|
|
@@ -65,74 +48,14 @@ async function getGovernorApiProposal(governanceEnvironment, proposalId, chainId
|
|
|
65
48
|
resolveIpfsDescriptions([apiProposal], governanceEnvironment),
|
|
66
49
|
readCrossChainQuorums([apiProposal], governanceEnvironment),
|
|
67
50
|
]);
|
|
68
|
-
const formattedData = formatApiProposalData(apiProposal);
|
|
69
51
|
const onChainDataList = await getProposalsOnChainData([apiProposal], governanceEnvironment, { crossChainQuorums });
|
|
52
|
+
// `getProposalsOnChainData` maps 1:1 over its input, so the single entry is
|
|
53
|
+
// always present — guard rather than assert, so the invariant is enforced
|
|
54
|
+
// instead of asserted away if that ever stops holding.
|
|
70
55
|
const onChainData = onChainDataList[0];
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
// on-chain reads. Reusing it avoids the drift that left Moonbeam-homed
|
|
74
|
-
// local-target proposals (and hub-local Ethereum ones) without `multichain`.
|
|
75
|
-
const isMultichain = onChainData.isMultichain;
|
|
76
|
-
const now = Math.floor(Date.now() / 1000);
|
|
77
|
-
let proposalState = onChainData.state;
|
|
78
|
-
if (proposalState === ProposalState.Pending &&
|
|
79
|
-
now >= apiProposal.votingStartTime &&
|
|
80
|
-
now <= apiProposal.votingEndTime) {
|
|
81
|
-
proposalState = ProposalState.Active;
|
|
82
|
-
}
|
|
83
|
-
if (formattedData.executed) {
|
|
84
|
-
proposalState = ProposalState.Executed;
|
|
85
|
-
}
|
|
86
|
-
else if (isMultichain &&
|
|
87
|
-
onChainData.votesCollected &&
|
|
88
|
-
now > apiProposal.votingEndTime &&
|
|
89
|
-
proposalState === ProposalState.Succeeded) {
|
|
90
|
-
// Succeeded with collection done means "awaiting execution" — surface as
|
|
91
|
-
// Queued so the frontend renders the "Ready to Execute" timeline step.
|
|
92
|
-
// Defeated/Canceled/Executed must NOT be promoted: under the new
|
|
93
|
-
// state-machine-based votesCollected, those terminal states also satisfy
|
|
94
|
-
// `votesCollected: true`, so a `< Queued` gate would mislabel them.
|
|
95
|
-
proposalState = ProposalState.Queued;
|
|
96
|
-
}
|
|
97
|
-
const proposal = {
|
|
98
|
-
id: apiProposal.proposalId,
|
|
99
|
-
chainId: apiProposal.chainId,
|
|
100
|
-
proposalId: apiProposal.proposalId,
|
|
101
|
-
proposer: apiProposal.proposer,
|
|
102
|
-
eta: onChainData.eta,
|
|
103
|
-
startTimestamp: apiProposal.votingStartTime,
|
|
104
|
-
endTimestamp: apiProposal.votingEndTime,
|
|
105
|
-
startBlock: Number(apiProposal.blockNumber),
|
|
106
|
-
forVotes: formattedData.forVotes,
|
|
107
|
-
againstVotes: formattedData.againstVotes,
|
|
108
|
-
abstainVotes: formattedData.abstainVotes,
|
|
109
|
-
totalVotes: formattedData.totalVotes,
|
|
110
|
-
canceled: formattedData.canceled,
|
|
111
|
-
executed: formattedData.executed,
|
|
112
|
-
quorum: new Amount(onChainData.quorum, 18),
|
|
113
|
-
state: proposalState,
|
|
114
|
-
// Extended data
|
|
115
|
-
title: formattedData.title,
|
|
116
|
-
subtitle: formattedData.subtitle,
|
|
117
|
-
description: apiProposal.description,
|
|
118
|
-
targets: apiProposal.targets,
|
|
119
|
-
calldatas: apiProposal.calldatas,
|
|
120
|
-
// Legacy-governor proposals (Moonriver, early Moonbeam) carry the function
|
|
121
|
-
// signature separately from the selector-less calldata; pass it through so
|
|
122
|
-
// consumers can decode the call. Empty for multichain-governor proposals.
|
|
123
|
-
signatures: apiProposal.signatures ?? [],
|
|
124
|
-
stateChanges: formattedData.stateChanges,
|
|
125
|
-
environment: governanceEnvironment,
|
|
126
|
-
};
|
|
127
|
-
if (apiProposal.snapshotBlocks) {
|
|
128
|
-
proposal.snapshotBlocks = apiProposal.snapshotBlocks;
|
|
129
|
-
}
|
|
130
|
-
if (isMultichain) {
|
|
131
|
-
proposal.multichain = {
|
|
132
|
-
id: apiProposal.proposalId,
|
|
133
|
-
votesCollected: onChainData.votesCollected,
|
|
134
|
-
};
|
|
56
|
+
if (!onChainData) {
|
|
57
|
+
return undefined;
|
|
135
58
|
}
|
|
136
|
-
return
|
|
59
|
+
return mapApiProposalToProposal(apiProposal, onChainData, governanceEnvironment);
|
|
137
60
|
}
|
|
138
61
|
//# sourceMappingURL=getProposal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProposal.js","sourceRoot":"","sources":["../../../../actions/governance/proposals/getProposal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getProposal.js","sourceRoot":"","sources":["../../../../actions/governance/proposals/getProposal.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,oCAAoC,EACpC,aAAa,EACb,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAiBrB,MAAM,CAAC,KAAK,UAAU,WAAW,CAI/B,MAAsB,EACtB,IAAkD;IAElD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE5B,gFAAgF;IAChF,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,qEAAqE;IACrE,sDAAsD;IACtD,MAAM,qBAAqB,GAAG,4BAA4B,CACxD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAA2C,CAAC,CAClE,CAAC;IACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,sBAAsB,CAC3B,qBAAqB,EACrB,UAAU,EACV,IAAI,CAAC,OAAO,CACb,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,sBAAsB,CACnC,qBAAkC,EAClC,UAAkB,EAClB,OAAgB;IAEhB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC;IAE7E,IAAI,WAAoC,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,aAAa,CAAC,qBAAqB,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;YAC1E,MAAM;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,CAAC,KAAK,CAAC;gBAAE,SAAS;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,uBAAuB,CAAC,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC;QAC7D,qBAAqB,CAAC,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC;KAC5D,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,uBAAuB,CACnD,CAAC,WAAW,CAAC,EACb,qBAAqB,EACrB,EAAE,iBAAiB,EAAE,CACtB,CAAC;IAEF,4EAA4E;IAC5E,0EAA0E;IAC1E,uDAAuD;IACvD,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,wBAAwB,CAC7B,WAAW,EACX,WAAW,EACX,qBAAqB,CACtB,CAAC;AACJ,CAAC"}
|
|
@@ -1,30 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Amount, getEnvironmentsFromArgs } from "../../../common/index.js";
|
|
1
|
+
import { getEnvironmentsFromArgs } from "../../../common/index.js";
|
|
3
2
|
import * as logger from "../../../logger/console.js";
|
|
4
|
-
import {
|
|
5
|
-
import { fetchAllProposals } from "../governor-api-client.js";
|
|
3
|
+
import { SUPPORTED_GOVERNOR_CHAIN_IDS, fetchAllProposals, } from "../governor-api-client.js";
|
|
6
4
|
import { resolveIpfsDescriptions } from "../ipfs.js";
|
|
7
|
-
import {
|
|
5
|
+
import { getProposalsOnChainData, mapApiProposalToProposal, readCrossChainQuorums, resolveGovernanceEnvironment, } from "./common.js";
|
|
8
6
|
export async function getProposals(client, args) {
|
|
9
7
|
const logId = logger.start("getProposals", "Starting to get proposals...");
|
|
10
8
|
const environments = getEnvironmentsFromArgs(client, args);
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
if (governanceEnvironments.length === 0) {
|
|
9
|
+
const governanceEnvironment = resolveGovernanceEnvironment(environments);
|
|
10
|
+
if (!governanceEnvironment) {
|
|
14
11
|
logger.end(logId);
|
|
15
12
|
return [];
|
|
16
13
|
}
|
|
17
|
-
const
|
|
18
|
-
if (governanceEnvironment.chainId === moonbeam.id) {
|
|
19
|
-
// Moonbeam + Ethereum: Governor API (chainIds 1 and 1284)
|
|
20
|
-
return getMoonbeamProposals(governanceEnvironment);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
// Moonriver: Governor API, single legacy governor (chainId 1285)
|
|
24
|
-
return getMoonriverProposals(governanceEnvironment);
|
|
25
|
-
}
|
|
26
|
-
}));
|
|
27
|
-
const proposals = allProposals.flat();
|
|
14
|
+
const proposals = await fetchGovernorProposals(governanceEnvironment);
|
|
28
15
|
// Newer multigov-ethereum proposals (chainId=1) and historical Moonbeam
|
|
29
16
|
// proposals (chainId=1284) restart their proposalId counters from 1, so IDs
|
|
30
17
|
// may collide across chains. Sort by proposalId desc with chainId as a
|
|
@@ -38,24 +25,27 @@ export async function getProposals(client, args) {
|
|
|
38
25
|
return sortedProposals;
|
|
39
26
|
}
|
|
40
27
|
/**
|
|
41
|
-
* Fetch
|
|
28
|
+
* Fetch every proposal the Governor API serves, across all governance chains.
|
|
42
29
|
*
|
|
43
|
-
*
|
|
44
|
-
* - chainId=1
|
|
45
|
-
* - chainId=1284 (Moonbeam)
|
|
30
|
+
* One indexer DO serves them all:
|
|
31
|
+
* - chainId=1 (Ethereum) — the active multigov contract
|
|
32
|
+
* - chainId=1284 (Moonbeam) — historical archive, chain halted
|
|
33
|
+
* - chainId=1285 (Moonriver) — legacy Apollo governor, chain halted
|
|
46
34
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
35
|
+
* The sunset chains keep appearing here on purpose: the indexer still has their
|
|
36
|
+
* proposals even though no RPC exists for them any more, so the governance
|
|
37
|
+
* record stays readable (MOO-551). What they lose is the on-chain half —
|
|
38
|
+
* `getProposalsOnChainData` finds no environment for 1284/1285 and derives their
|
|
39
|
+
* state from indexer events, leaving quorum and eta unset.
|
|
40
|
+
*
|
|
41
|
+
* `Promise.allSettled` so one chain's outage degrades to a missing slice rather
|
|
42
|
+
* than an empty list.
|
|
49
43
|
*/
|
|
50
|
-
async function
|
|
51
|
-
const results = await Promise.allSettled(
|
|
52
|
-
fetchAllProposals(governanceEnvironment, { chainId: 1 }),
|
|
53
|
-
fetchAllProposals(governanceEnvironment, { chainId: 1284 }),
|
|
54
|
-
]);
|
|
55
|
-
const chainsAttempted = [1, 1284];
|
|
44
|
+
async function fetchGovernorProposals(governanceEnvironment) {
|
|
45
|
+
const results = await Promise.allSettled(SUPPORTED_GOVERNOR_CHAIN_IDS.map((chainId) => fetchAllProposals(governanceEnvironment, { chainId })));
|
|
56
46
|
const apiProposals = [];
|
|
57
47
|
results.forEach((result, index) => {
|
|
58
|
-
const chainId =
|
|
48
|
+
const chainId = SUPPORTED_GOVERNOR_CHAIN_IDS[index];
|
|
59
49
|
if (result.status === "fulfilled") {
|
|
60
50
|
apiProposals.push(...result.value);
|
|
61
51
|
}
|
|
@@ -70,39 +60,13 @@ async function getMoonbeamProposals(governanceEnvironment) {
|
|
|
70
60
|
return buildProposals(apiProposals, governanceEnvironment);
|
|
71
61
|
}
|
|
72
62
|
/**
|
|
73
|
-
*
|
|
63
|
+
* Governor-API pipeline: resolve IPFS descriptions + cross-chain quorums in
|
|
64
|
+
* parallel, read on-chain data, then map each ApiProposal to a Proposal.
|
|
74
65
|
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*/
|
|
80
|
-
async function getMoonriverProposals(governanceEnvironment) {
|
|
81
|
-
// Moonriver is a single chain, so there's no other chain to "continue with"
|
|
82
|
-
// like the Moonbeam fan-out — but a bare throw would reject the whole
|
|
83
|
-
// `Promise.all` in getProposals and drop Moonbeam/Ethereum results too. Mirror
|
|
84
|
-
// the per-chain handling getMoonbeamProposals uses: report the outage via
|
|
85
|
-
// onError and degrade to an empty Moonriver list instead of rejecting.
|
|
86
|
-
let apiProposals = [];
|
|
87
|
-
try {
|
|
88
|
-
apiProposals = await fetchAllProposals(governanceEnvironment, {
|
|
89
|
-
chainId: moonriver.id,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
catch (reason) {
|
|
93
|
-
console.warn(`[getProposals] Failed to fetch proposals for chainId=${moonriver.id}; continuing with an empty Moonriver list.`, reason);
|
|
94
|
-
governanceEnvironment.onError?.(reason, {
|
|
95
|
-
source: "governance-proposals",
|
|
96
|
-
chainId: moonriver.id,
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
return buildProposals(apiProposals, governanceEnvironment);
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Shared Governor-API pipeline: resolve IPFS descriptions + cross-chain quorums
|
|
103
|
-
* in parallel, read on-chain data, then map each ApiProposal to a Proposal.
|
|
104
|
-
* Used by both the Moonbeam/Ethereum and Moonriver paths so the mapping stays
|
|
105
|
-
* in one place.
|
|
66
|
+
* Single caller (`fetchGovernorProposals`) since the sunset removed the separate
|
|
67
|
+
* `getMoonbeamProposals` / `getMoonriverProposals` entry points (MOO-551) —
|
|
68
|
+
* kept as its own function because it is the list-shaped counterpart to
|
|
69
|
+
* `getProposal`'s single-proposal pipeline, and the two are read together.
|
|
106
70
|
*/
|
|
107
71
|
async function buildProposals(apiProposals, governanceEnvironment) {
|
|
108
72
|
// IPFS resolution and cross-chain quorum reads are independent — run them in
|
|
@@ -112,75 +76,16 @@ async function buildProposals(apiProposals, governanceEnvironment) {
|
|
|
112
76
|
readCrossChainQuorums(apiProposals, governanceEnvironment),
|
|
113
77
|
]);
|
|
114
78
|
const onChainDataList = await getProposalsOnChainData(apiProposals, governanceEnvironment, { crossChainQuorums });
|
|
115
|
-
|
|
79
|
+
// `getProposalsOnChainData` maps 1:1 over its input, so every index resolves —
|
|
80
|
+
// guard rather than assert, so the invariant is enforced instead of asserted
|
|
81
|
+
// away if that ever stops holding.
|
|
82
|
+
const proposals = apiProposals.flatMap((apiProposal, index) => {
|
|
116
83
|
const onChainData = onChainDataList[index];
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
const now = Math.floor(Date.now() / 1000);
|
|
123
|
-
let proposalState = onChainData.state;
|
|
124
|
-
if (proposalState === ProposalState.Pending &&
|
|
125
|
-
now >= apiProposal.votingStartTime &&
|
|
126
|
-
now <= apiProposal.votingEndTime) {
|
|
127
|
-
proposalState = ProposalState.Active;
|
|
128
|
-
}
|
|
129
|
-
if (formattedData.executed) {
|
|
130
|
-
proposalState = ProposalState.Executed;
|
|
131
|
-
}
|
|
132
|
-
else if (isMultichain &&
|
|
133
|
-
onChainData.votesCollected &&
|
|
134
|
-
now > apiProposal.votingEndTime &&
|
|
135
|
-
proposalState === ProposalState.Succeeded) {
|
|
136
|
-
// Succeeded with collection done means "awaiting execution" — surface
|
|
137
|
-
// as Queued so the frontend renders the "Ready to Execute" timeline
|
|
138
|
-
// step. Defeated/Canceled/Executed must NOT be promoted: under the new
|
|
139
|
-
// state-machine-based votesCollected, those terminal states also
|
|
140
|
-
// satisfy `votesCollected: true`, so a `< Queued` gate would mislabel
|
|
141
|
-
// them.
|
|
142
|
-
proposalState = ProposalState.Queued;
|
|
143
|
-
}
|
|
144
|
-
const proposal = {
|
|
145
|
-
id: apiProposal.proposalId,
|
|
146
|
-
chainId: apiProposal.chainId,
|
|
147
|
-
proposalId: apiProposal.proposalId,
|
|
148
|
-
proposer: apiProposal.proposer,
|
|
149
|
-
eta: onChainData.eta,
|
|
150
|
-
startTimestamp: apiProposal.votingStartTime,
|
|
151
|
-
endTimestamp: apiProposal.votingEndTime,
|
|
152
|
-
startBlock: Number(apiProposal.blockNumber),
|
|
153
|
-
forVotes: formattedData.forVotes,
|
|
154
|
-
againstVotes: formattedData.againstVotes,
|
|
155
|
-
abstainVotes: formattedData.abstainVotes,
|
|
156
|
-
totalVotes: formattedData.totalVotes,
|
|
157
|
-
canceled: formattedData.canceled,
|
|
158
|
-
executed: formattedData.executed,
|
|
159
|
-
quorum: new Amount(onChainData.quorum, 18),
|
|
160
|
-
state: proposalState,
|
|
161
|
-
// Extended data
|
|
162
|
-
title: formattedData.title,
|
|
163
|
-
subtitle: formattedData.subtitle,
|
|
164
|
-
description: apiProposal.description,
|
|
165
|
-
targets: apiProposal.targets,
|
|
166
|
-
calldatas: apiProposal.calldatas,
|
|
167
|
-
// Legacy-governor proposals (Moonriver, early Moonbeam) carry the function
|
|
168
|
-
// signature separately from the selector-less calldata; pass it through so
|
|
169
|
-
// consumers can decode the call. Empty for multichain-governor proposals.
|
|
170
|
-
signatures: apiProposal.signatures ?? [],
|
|
171
|
-
stateChanges: formattedData.stateChanges,
|
|
172
|
-
environment: governanceEnvironment,
|
|
173
|
-
};
|
|
174
|
-
if (apiProposal.snapshotBlocks) {
|
|
175
|
-
proposal.snapshotBlocks = apiProposal.snapshotBlocks;
|
|
176
|
-
}
|
|
177
|
-
if (isMultichain) {
|
|
178
|
-
proposal.multichain = {
|
|
179
|
-
id: apiProposal.proposalId,
|
|
180
|
-
votesCollected: onChainData.votesCollected,
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
return proposal;
|
|
84
|
+
return onChainData
|
|
85
|
+
? [
|
|
86
|
+
mapApiProposalToProposal(apiProposal, onChainData, governanceEnvironment),
|
|
87
|
+
]
|
|
88
|
+
: [];
|
|
184
89
|
});
|
|
185
90
|
return proposals;
|
|
186
91
|
}
|