Merge PR #3728: Alternative negative coins fix (floor multiplication)
This commit is contained in:
committed by
Jack Zampolin
parent
1316e2d2eb
commit
7cddda7b05
@@ -31,8 +31,8 @@ func (k Keeper) AllocateTokens(ctx sdk.Context, sumPrecommitPower, totalPower in
|
||||
// calculate proposer reward
|
||||
baseProposerReward := k.GetBaseProposerReward(ctx)
|
||||
bonusProposerReward := k.GetBonusProposerReward(ctx)
|
||||
proposerMultiplier := baseProposerReward.Add(bonusProposerReward.Mul(fractionVotes))
|
||||
proposerReward := feesCollected.MulDec(proposerMultiplier)
|
||||
proposerMultiplier := baseProposerReward.Add(bonusProposerReward.MulTruncate(fractionVotes))
|
||||
proposerReward := feesCollected.MulDecTruncate(proposerMultiplier)
|
||||
|
||||
// pay proposer
|
||||
proposerValidator := k.stakingKeeper.ValidatorByConsAddr(ctx, proposer)
|
||||
@@ -50,8 +50,8 @@ func (k Keeper) AllocateTokens(ctx sdk.Context, sumPrecommitPower, totalPower in
|
||||
|
||||
// TODO likely we should only reward validators who actually signed the block.
|
||||
// ref https://github.com/cosmos/cosmos-sdk/issues/2525#issuecomment-430838701
|
||||
powerFraction := sdk.NewDec(vote.Validator.Power).Quo(sdk.NewDec(totalPower))
|
||||
reward := feesCollected.MulDec(voteMultiplier).MulDec(powerFraction)
|
||||
powerFraction := sdk.NewDec(vote.Validator.Power).QuoTruncate(sdk.NewDec(totalPower))
|
||||
reward := feesCollected.MulDecTruncate(voteMultiplier).MulDecTruncate(powerFraction)
|
||||
k.AllocateTokensToValidator(ctx, validator, reward)
|
||||
remaining = remaining.Sub(reward)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user