From 7ded8954c6b4f407b5a5049e004223b6840b525a Mon Sep 17 00:00:00 2001 From: catbref Date: Wed, 8 Apr 2020 18:10:19 +0100 Subject: [PATCH] Fix Transaction.calcRecommendedFee() --- .../java/org/qortal/transaction/Transaction.java | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/qortal/transaction/Transaction.java b/src/main/java/org/qortal/transaction/Transaction.java index 75e31f8c..bc8974f1 100644 --- a/src/main/java/org/qortal/transaction/Transaction.java +++ b/src/main/java/org/qortal/transaction/Transaction.java @@ -345,18 +345,10 @@ public abstract class Transaction { BigDecimal maxBytePerUnitFee = BlockChain.getInstance().getMaxBytesPerUnitFee(); - BigDecimal recommendedFee = BigDecimal.valueOf(dataLength).divide(maxBytePerUnitFee, MathContext.DECIMAL32).setScale(8); + BigDecimal unitFeeCount = BigDecimal.valueOf(dataLength).divide(maxBytePerUnitFee, RoundingMode.UP); - // security margin - recommendedFee = recommendedFee.add(new BigDecimal("0.00000001")); - - if (recommendedFee.compareTo(BlockChain.getInstance().getUnitFee()) <= 0) { - recommendedFee = BlockChain.getInstance().getUnitFee(); - } else { - recommendedFee = recommendedFee.setScale(0, RoundingMode.CEILING); - } - - return recommendedFee.setScale(8); + BigDecimal recommendedFee = BlockChain.getInstance().getUnitFee().multiply(unitFeeCount).setScale(8); + return recommendedFee; } /**