mirror of
https://github.com/btcsuite/btcd.git
synced 2024-11-19 09:50:08 +01:00
mining: Remove comment and change fee calc to int.
Now that the memory pool minimum fee calculation code is also calculating a more precise value instead of rounding up to the nearest kilobyte boundary, the comment in NewBlockTemplate regarding this behavior is no longer accurate. Thus, this removes the comment. Also, while here, change the calculation to use an int64 instead of float since it matches the precision of the new calculation code used by the memory pool and can also avoid the need for the slower floating point math.
This commit is contained in:
parent
09874f1e91
commit
2799ddf538
12
mining.go
12
mining.go
@ -47,7 +47,7 @@ type txPrioItem struct {
|
|||||||
tx *btcutil.Tx
|
tx *btcutil.Tx
|
||||||
fee int64
|
fee int64
|
||||||
priority float64
|
priority float64
|
||||||
feePerKB float64
|
feePerKB int64
|
||||||
|
|
||||||
// dependsOn holds a map of transaction hashes which this one depends
|
// dependsOn holds a map of transaction hashes which this one depends
|
||||||
// on. It will only be set when the transaction references other
|
// on. It will only be set when the transaction references other
|
||||||
@ -519,13 +519,9 @@ mempoolLoop:
|
|||||||
// formula is: sum(inputValue * inputAge) / adjustedTxSize
|
// formula is: sum(inputValue * inputAge) / adjustedTxSize
|
||||||
prioItem.priority = txDesc.CurrentPriority(txStore, nextBlockHeight)
|
prioItem.priority = txDesc.CurrentPriority(txStore, nextBlockHeight)
|
||||||
|
|
||||||
// Calculate the fee in Satoshi/KB.
|
// Calculate the fee in Satoshi/kB.
|
||||||
// NOTE: This is a more precise value than the one calculated
|
|
||||||
// during calcMinRelayFee which rounds up to the nearest full
|
|
||||||
// kilobyte boundary. This is beneficial since it provides an
|
|
||||||
// incentive to create smaller transactions.
|
|
||||||
txSize := tx.MsgTx().SerializeSize()
|
txSize := tx.MsgTx().SerializeSize()
|
||||||
prioItem.feePerKB = float64(txDesc.Fee) / (float64(txSize) / 1000)
|
prioItem.feePerKB = (txDesc.Fee * 1000) / int64(txSize)
|
||||||
prioItem.fee = txDesc.Fee
|
prioItem.fee = txDesc.Fee
|
||||||
|
|
||||||
// Add the transaction to the priority queue to mark it ready
|
// Add the transaction to the priority queue to mark it ready
|
||||||
@ -605,7 +601,7 @@ mempoolLoop:
|
|||||||
// Skip free transactions once the block is larger than the
|
// Skip free transactions once the block is larger than the
|
||||||
// minimum block size.
|
// minimum block size.
|
||||||
if sortedByFee &&
|
if sortedByFee &&
|
||||||
prioItem.feePerKB < float64(cfg.minRelayTxFee) &&
|
prioItem.feePerKB < int64(cfg.minRelayTxFee) &&
|
||||||
blockPlusTxSize >= cfg.BlockMinSize {
|
blockPlusTxSize >= cfg.BlockMinSize {
|
||||||
|
|
||||||
minrLog.Tracef("Skipping tx %s with feePerKB %.2f "+
|
minrLog.Tracef("Skipping tx %s with feePerKB %.2f "+
|
||||||
|
Loading…
Reference in New Issue
Block a user