• R/O
  • HTTP
  • SSH
  • HTTPS

vapor: 提交

Golang implemented sidechain for Bytom


Commit MetaInfo

修订版967b16af4b2d3bbdcc4ff4b98c6d07ed46a4db36 (tree)
时间2020-10-21 15:59:52
作者shenao78 <shenao.78@163....>
Commitershenao78

Log Message

opt validate tx fee

更改概述

差异

--- a/application/mov/match/fee_strategy.go
+++ b/application/mov/match/fee_strategy.go
@@ -75,7 +75,7 @@ func validateFee(receiveAmounts, priceDiffs []*bc.AssetAmount, feeAmounts map[bc
7575 for _, receiveAmount := range receiveAmounts {
7676 feeAmount := calcMinFeeAmount(receiveAmount.Amount)
7777 realFeeAmount := feeAmounts[*receiveAmount.AssetId]
78- if realFeeAmount == feeAmount {
78+ if equalsFeeAmount(realFeeAmount, feeAmount) {
7979 continue
8080 }
8181
@@ -89,7 +89,7 @@ func validateFee(receiveAmounts, priceDiffs []*bc.AssetAmount, feeAmounts map[bc
8989 }
9090 }
9191
92- if realFeeAmount != feeAmount {
92+ if !equalsFeeAmount(realFeeAmount, feeAmount) {
9393 return ErrInvalidAmountOfFee
9494 }
9595 existTaker = true
@@ -97,6 +97,11 @@ func validateFee(receiveAmounts, priceDiffs []*bc.AssetAmount, feeAmounts map[bc
9797 return nil
9898 }
9999
100+func equalsFeeAmount(realFeeAmount, feeAmount uint64) bool {
101+ var tolerance float64 = 5
102+ return math.Abs(float64(realFeeAmount)-float64(feeAmount)) < tolerance
103+}
104+
100105 func legendValidateFee(receiveAmounts []*bc.AssetAmount, feeAmounts map[bc.AssetID]uint64) error {
101106 for _, receiveAmount := range receiveAmounts {
102107 realFeeAmount := feeAmounts[*receiveAmount.AssetId]
Show on old repository browser