Skip to content

Commit da3db67

Browse files
committed
Include extra weight (-datacarriercost) in vsize policy consideration
1 parent c03a715 commit da3db67

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/kernel/mempool_entry.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ class CTxMemPoolEntry
171171
const CAmount& GetFee() const { return nFee; }
172172
int32_t GetTxSize() const
173173
{
174-
return GetVirtualTransactionSize(nTxWeight, sigOpCost, ::nBytesPerSigOp);
174+
return GetVirtualTransactionSize(nTxWeight + m_extra_weight, sigOpCost, ::nBytesPerSigOp);
175175
}
176176
int32_t GetTxWeight() const { return nTxWeight; }
177177
std::chrono::seconds GetTime() const { return std::chrono::seconds{nTime}; }

src/node/psbt.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <coins.h>
66
#include <consensus/amount.h>
77
#include <consensus/tx_verify.h>
8+
#include <consensus/validation.h>
89
#include <node/psbt.h>
910
#include <policy/policy.h>
1011
#include <policy/settings.h>
@@ -137,7 +138,7 @@ PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx)
137138

138139
if (success) {
139140
CTransaction ctx = CTransaction(mtx);
140-
size_t size(GetVirtualTransactionSize(ctx, GetTransactionSigOpCost(ctx, view, STANDARD_SCRIPT_VERIFY_FLAGS), ::nBytesPerSigOp));
141+
size_t size(GetVirtualTransactionSize(GetTransactionWeight(ctx) + CalculateExtraTxWeight(ctx, view, ::g_weight_per_data_byte), GetTransactionSigOpCost(ctx, view, STANDARD_SCRIPT_VERIFY_FLAGS), ::nBytesPerSigOp));
141142
result.estimated_vsize = size;
142143
// Estimate fee rate
143144
CFeeRate feerate(fee, size);

0 commit comments

Comments
 (0)