diff --git a/pkg/core/native/native_neo.go b/pkg/core/native/native_neo.go index eea5955523..7a72111833 100644 --- a/pkg/core/native/native_neo.go +++ b/pkg/core/native/native_neo.go @@ -102,9 +102,9 @@ const ( effectiveVoterTurnout = 5 // neoHolderRewardRatio is a percent of generated GAS that is distributed to NEO holders. neoHolderRewardRatio = 10 - // neoHolderRewardRatio is a percent of generated GAS that is distributed to committee. + // committeeRewardRatio is a percent of generated GAS that is distributed to committee. committeeRewardRatio = 10 - // neoHolderRewardRatio is a percent of generated GAS that is distributed to voters. + // voterRewardRatio is a percent of generated GAS that is distributed to voters. voterRewardRatio = 80 // maxGetCandidatesRespLen is the maximum number of candidates to return from the diff --git a/pkg/core/native/native_test/neo_test.go b/pkg/core/native/native_test/neo_test.go index ac02586422..e25e0b91fb 100644 --- a/pkg/core/native/native_test/neo_test.go +++ b/pkg/core/native/native_test/neo_test.go @@ -743,8 +743,9 @@ func TestNEO_CalculateBonus(t *testing.T) { t.Run("Many blocks", func(t *testing.T) { amount := 100 - defaultGASParBlock := 5 + defaultGASPerBlock := 5 newGASPerBlock := 1 + neoHolderRewardRatio := 10 initialGASBalance := e.Chain.GetUtilityTokenBalance(accH) @@ -764,8 +765,12 @@ func TestNEO_CalculateBonus(t *testing.T) { h := acc.Invoke(t, true, "transfer", accH, accH, amount, nil) claimTx, _ := e.GetTransaction(t, h) - firstPart := int64(amount*rewardDistance/2*defaultGASParBlock) / int64(rewardDistance) - secondPart := int64(amount*rewardDistance/2*newGASPerBlock) / int64(rewardDistance) + firstPart := int64(amount * neoHolderRewardRatio / 100 * // reward for a part of the whole NEO total supply that is owned by acc + defaultGASPerBlock * // GAS generated by a single block + rewardDistance / 2) // number of blocks generated with specified GasPerBlock + secondPart := int64(amount * neoHolderRewardRatio / 100 * // reward for a part of the whole NEO total supply that is owned by acc + newGASPerBlock * // GAS generated by a single block after GasPerBlock update + rewardDistance / 2) // number of blocks generated with specified GasPerBlock e.CheckGASBalance(t, accH, big.NewInt(initialGASBalance.Int64()- claimTx.SystemFee-claimTx.NetworkFee + +firstPart + secondPart)) })