Skip to content

Commit 47afedf

Browse files
committed
fixed the precision issue with the calculation of voting power
1 parent 0504999 commit 47afedf

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/StageRaise.sol

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -536,9 +536,7 @@ contract StageRaise {
536536
_funder
537537
];
538538

539-
votingPower =
540-
(amountFundedByTheFunder * 100) /
541-
project.basics.raisedAmount;
539+
votingPower = (amountFundedByTheFunder * 1e18) / project.basics.raisedAmount;
542540

543541
return votingPower;
544542
}

test/integration/StageRaiseIntegration.t.sol

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,12 @@ contract StageRaiseIntegrationTest is Test {
118118
uint256 funder2Power = stageRaise.calculateFunderVotingPower(FUNDER_2, projectId);
119119
uint256 funder3Power = stageRaise.calculateFunderVotingPower(FUNDER_3, projectId);
120120

121-
assertEq(funder1Power, 44);
122-
assertEq(funder2Power, 33);
123-
assertEq(funder3Power, 22);
121+
122+
assertEq(funder1Power, 444444444444444444);
123+
124+
assertEq(funder2Power, 333333333333333333);
125+
126+
assertEq(funder3Power, 222222222222222222);
124127

125128
uint256 totalYesVotes = stageRaise.getProjectYesVotes(projectId);
126129
assertEq(totalYesVotes, funder1Power + funder2Power + funder3Power);

0 commit comments

Comments
 (0)