diff --git a/ethereum/contracts/core/Forum.sol b/ethereum/contracts/core/Forum.sol index 7c1553a..0ea5b43 100644 --- a/ethereum/contracts/core/Forum.sol +++ b/ethereum/contracts/core/Forum.sol @@ -155,10 +155,14 @@ contract Forum is Reputation { if (balanceOf(post.author) < post.reputation) { // If author has already lost reputation that was gained from this post, // that means other DAO members gained it through policing. - // Here we preserve the sum of members REP but decrease the sum of posts REP. + // We have to increase the magnitude of the amount we're "refunding", which is expressed as a negative number. + // This has the effect of preserving the sum of all members' REP. + // However, we still set the post reputation all the way to zero. + // So we end up decreasing the sum of all posts' REP. refundToInbound -= int( post.reputation - balanceOf(post.author) ); + console.logInt(refundToInbound); _update(post.author, address(this), balanceOf(post.author)); } else { _update(post.author, address(this), post.reputation);