mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 15:09:59 +01:00
Merge #9602: Remove coin age priority and free transactions - implementation
b421e6dUpdate example bitcoin.conf (Alex Morcos)7d4e950Allow setting minrelaytxfee to 0 (Alex Morcos)359e8a0[cleanup] Remove coin age priority completely. (Alex Morcos)f9b9371[rpc] Remove priorityDelta from prioritisetransaction (Alex Morcos)49be7e1[rpc] Remove priority information from mempool RPC calls (Alex Morcos)0315888[test] Remove priority from tests (Alex Morcos)f838005No longer allow "free" transactions (Alex Morcos)ad727f4[rpc] sendrawtransaction no longer bypasses minRelayTxFee (Alex Morcos)fe282ac[cleanup] Remove estimatePriority and estimateSmartPriority (Alex Morcos)400b151[debug] Change -printpriority option (Alex Morcos)272b25a[mining] Remove -blockprioritysize. (Alex Morcos)12839cd[rpc] Remove estimatepriority and estimatesmartpriority. (Alex Morcos)ddf58c7wallet: Remove sendfree (MarcoFalke) Tree-SHA512: a9a4499405923ce794ef18f9e334dbbd59dfc73a3dc2df6f85cc9c62af6f353ec2eed9c2d5e58e904f918d0d7ab738f403dd4939d9bc2276136864fe63710782
This commit is contained in:
@@ -92,32 +92,6 @@ CAmount CTransaction::GetValueOut() const
|
||||
return nValueOut;
|
||||
}
|
||||
|
||||
double CTransaction::ComputePriority(double dPriorityInputs, unsigned int nTxSize) const
|
||||
{
|
||||
nTxSize = CalculateModifiedSize(nTxSize);
|
||||
if (nTxSize == 0) return 0.0;
|
||||
|
||||
return dPriorityInputs / nTxSize;
|
||||
}
|
||||
|
||||
unsigned int CTransaction::CalculateModifiedSize(unsigned int nTxSize) const
|
||||
{
|
||||
// In order to avoid disincentivizing cleaning up the UTXO set we don't count
|
||||
// the constant overhead for each txin and up to 110 bytes of scriptSig (which
|
||||
// is enough to cover a compressed pubkey p2sh redemption) for priority.
|
||||
// Providing any more cleanup incentive than making additional inputs free would
|
||||
// risk encouraging people to create junk outputs to redeem later.
|
||||
if (nTxSize == 0)
|
||||
nTxSize = (GetTransactionWeight(*this) + WITNESS_SCALE_FACTOR - 1) / WITNESS_SCALE_FACTOR;
|
||||
for (std::vector<CTxIn>::const_iterator it(vin.begin()); it != vin.end(); ++it)
|
||||
{
|
||||
unsigned int offset = 41U + std::min(110U, (unsigned int)it->scriptSig.size());
|
||||
if (nTxSize > offset)
|
||||
nTxSize -= offset;
|
||||
}
|
||||
return nTxSize;
|
||||
}
|
||||
|
||||
unsigned int CTransaction::GetTotalSize() const
|
||||
{
|
||||
return ::GetSerializeSize(*this, SER_NETWORK, PROTOCOL_VERSION);
|
||||
|
||||
@@ -361,12 +361,6 @@ public:
|
||||
// GetValueIn() is a method on CCoinsViewCache, because
|
||||
// inputs must be known to compute value in.
|
||||
|
||||
// Compute priority, given priority of inputs and (optionally) tx size
|
||||
double ComputePriority(double dPriorityInputs, unsigned int nTxSize=0) const;
|
||||
|
||||
// Compute modified tx size for priority calculation (optionally given tx size)
|
||||
unsigned int CalculateModifiedSize(unsigned int nTxSize=0) const;
|
||||
|
||||
/**
|
||||
* Get the total transaction size in bytes, including witness data.
|
||||
* "Total Size" defined in BIP141 and BIP144.
|
||||
|
||||
Reference in New Issue
Block a user