@moonwell-fi/moonwell-sdk
Version:
TypeScript Interface for Moonwell
27 lines • 1.47 kB
JavaScript
import { getEnvironmentsFromArgs } from "../../../common/index.js";
import { moonbeam, moonriver, } from "../../../environments/index.js";
import * as logger from "../../../logger/console.js";
import { appendProposalExtendedData, getCrossChainProposalData, getExtendedProposalData, getProposalData, } from "./common.js";
export async function getProposals(client, args) {
const environments = getEnvironmentsFromArgs(client, args);
const governanceEnvironments = environments.filter((environment) => environment.chainId === moonriver.id ||
environment.chainId === moonbeam.id);
const logId = logger.start("getProposals", "Starting to get proposals...");
const environmentProposals = await Promise.all(governanceEnvironments
.filter((environment) => environment.chainId === moonriver.id ||
environment.chainId === moonbeam.id)
.map((environment) => Promise.all([
getProposalData({ environment }),
getCrossChainProposalData({ environment }),
getExtendedProposalData({ environment }),
])));
logger.end(logId);
const proposals = governanceEnvironments.flatMap((_item, index) => {
const [_proposals, _xcProposals, _extendedDatas] = environmentProposals[index];
const proposals = [..._proposals, ..._xcProposals];
appendProposalExtendedData(proposals, _extendedDatas);
return proposals;
});
return proposals;
}
//# sourceMappingURL=getProposals.js.map