@moonwell-fi/moonwell-sdk
Version:
TypeScript Interface for Moonwell
40 lines • 1.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getUserVoteReceipt = getUserVoteReceipt;
const index_js_1 = require("../../common/index.js");
const governor_api_client_js_1 = require("./governor-api-client.js");
async function getUserVoteReceipt(client, args) {
const { proposalId, userAddress } = args;
const environment = (0, index_js_1.getEnvironmentFromArgs)(client, args);
if (!environment) {
return [];
}
try {
const apiVoteReceipts = await (0, governor_api_client_js_1.fetchUserVoteReceipt)(environment, `${proposalId}`, userAddress);
if (apiVoteReceipts.length === 0) {
return [
{
chainId: environment.chainId,
proposalId,
account: userAddress,
voted: false,
option: 0,
votes: new index_js_1.Amount(0, 18),
},
];
}
return apiVoteReceipts.map((apiReceipt) => ({
chainId: apiReceipt.chainId,
proposalId,
account: userAddress,
voted: true,
option: apiReceipt.voteValue,
votes: new index_js_1.Amount(BigInt(apiReceipt.votes), 18),
}));
}
catch (error) {
const message = error instanceof Error ? error.message : String(error);
throw new Error(`Failed to fetch user vote receipt: ${message}`);
}
}
//# sourceMappingURL=getUserVoteReceipt.js.map