Skip to content

Commit

Permalink
fix: your counted votes & your maximum votes (#3384)
Browse files Browse the repository at this point in the history
  • Loading branch information
begonaalvarezd authored Jun 3, 2022
1 parent 24a7f46 commit 8ece643
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 7 deletions.
20 changes: 16 additions & 4 deletions packages/shared/lib/participation/governance.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,23 @@ export const calculateVotesByMilestones = (
*
* @returns {number}
*/
export const calculateVotesByTrackedParticipation = (trackedParticipation: TrackedParticipation | null): number => {
if (trackedParticipation) {
return Object.values(trackedParticipation)?.reduce(
export const calculateVotesByTrackedParticipation = (
trackedParticipation: TrackedParticipation | null,
eventStartMilestoneIndex: number,
eventEndMilestoneIndex: number
): number => {
const countableTrackedParticipation = trackedParticipation?.filter(
({ endMilestoneIndex }) => endMilestoneIndex === 0 || endMilestoneIndex > eventStartMilestoneIndex
)
if (countableTrackedParticipation?.length > 0) {
return Object.values(countableTrackedParticipation)?.reduce(
(acc, val) =>
acc + calculateVotesByMilestones(val?.startMilestoneIndex, val?.endMilestoneIndex, val?.amount),
acc +
calculateVotesByMilestones(
Math.min(Math.max(eventStartMilestoneIndex, val?.startMilestoneIndex), eventEndMilestoneIndex),
val?.endMilestoneIndex,
val?.amount
),
0
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,20 @@
$: progress = getProgressByMilestone(event?.information?.milestoneIndexEnd)
$: accountVotes = calculateVotesByTrackedParticipation(
$selectedAccountParticipationOverview?.trackedParticipations?.[event?.eventId]
$selectedAccountParticipationOverview?.trackedParticipations?.[event?.eventId],
event?.information?.milestoneIndexStart,
event?.information?.milestoneIndexEnd
)
$: maximumVotes =
calculateVotesByTrackedParticipation(
$selectedAccountParticipationOverview?.trackedParticipations?.[event?.eventId]?.filter(
(item) => item.messageId !== $currentTreasuryParticipation?.messageId
)
),
event?.information?.milestoneIndexStart,
event?.information?.milestoneIndexEnd
) +
calculateVotesByMilestones(
$currentTreasuryParticipation?.startMilestoneIndex,
Math.max(event?.information?.milestoneIndexStart, $currentTreasuryParticipation?.startMilestoneIndex),
event?.information?.milestoneIndexEnd,
$currentTreasuryParticipation?.amount
)
Expand Down

0 comments on commit 8ece643

Please sign in to comment.