Skip to content

Commit da0a1a8

Browse files
committed
pending points balance
1 parent 62461cf commit da0a1a8

1 file changed

Lines changed: 60 additions & 1 deletion

File tree

src/server/handlers/wallet-api.ts

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,9 +436,68 @@ const buildPointsLayer = (pointsData: any, marketData: any, currency: string): P
436436
balance = 0;
437437
}
438438

439+
const pendingCandidates = [
440+
pointsData.pendingRewards,
441+
pointsData.pending_rewards,
442+
pointsData.pending,
443+
pointsData.pending_points,
444+
pointsData.pendingPoints,
445+
pointsData.pending_token,
446+
pointsData.pendingToken,
447+
pointsData.unclaimed,
448+
pointsData.unclaimed_points,
449+
pointsData.unclaimedPoints,
450+
pointsData.unclaimed_balance,
451+
pointsData.unclaimedBalance,
452+
pointsData.rewards,
453+
pointsData.claims,
454+
];
455+
456+
let pendingRewards: number | undefined;
457+
458+
for (const candidate of pendingCandidates) {
459+
if (candidate === undefined || candidate === null) {
460+
continue;
461+
}
462+
463+
if (typeof candidate === "object") {
464+
const nested = pickFirstNumericValue(
465+
(candidate as any).points,
466+
(candidate as any).balance,
467+
(candidate as any).amount,
468+
(candidate as any).value,
469+
(candidate as any).pending,
470+
(candidate as any).total,
471+
);
472+
473+
if (nested !== null) {
474+
pendingRewards = nested;
475+
break;
476+
}
477+
478+
continue;
479+
}
480+
481+
const parsed = parseMaybeNumber(candidate);
482+
if (parsed !== null) {
483+
pendingRewards = parsed;
484+
break;
485+
}
486+
}
487+
488+
if (pendingRewards !== undefined && !Number.isFinite(pendingRewards)) {
489+
pendingRewards = undefined;
490+
}
491+
439492
const price = getTokenPrice(marketData, "points", currency);
440493

441-
return [makePortfolioItem("Ecency Points", "POINTS", "points", balance, price)];
494+
const options: PortfolioItemOptions = {};
495+
496+
if (pendingRewards !== undefined) {
497+
options.pendingRewards = pendingRewards;
498+
}
499+
500+
return [makePortfolioItem("Ecency Points", "POINTS", "points", balance, price, options)];
442501
};
443502

444503
const buildHiveLayer = (

0 commit comments

Comments
 (0)