Skip to content

Commit 006e334

Browse files
authored
Merge pull request #7 from commons-stack/_curvedBurn
fix fixed-point math in _curvedBurn
2 parents 6318631 + d749557 commit 006e334

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

contracts/bondingcurve/CommonsToken.sol

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,9 +303,9 @@ contract CommonsToken is BondingCurveToken {
303303
*/
304304
function _curvedBurn(uint256 amount) internal returns (uint256) {
305305
uint256 reimbursement = super._curvedBurn(amount);
306-
uint256 transferable = (1 - (friction / DENOMINATOR_PPM) * reimbursement);
307-
externalToken.transfer(msg.sender, transferable);
308-
externalToken.transfer(fundingPool, reimbursement - transferable);
306+
uint256 frictionCost = friction * reimbursement / DENOMINATOR_PPM;
307+
externalToken.transfer(msg.sender, reimbursement - frictionCost);
308+
externalToken.transfer(fundingPool, frictionCost);
309309
return reimbursement;
310310
}
311311
}

0 commit comments

Comments
 (0)