Skip to content

Commit 4e36f4e

Browse files
committed
Replace UtxoPriorityMode by ChangeOutputType
1 parent 74ad71d commit 4e36f4e

File tree

4 files changed

+10
-14
lines changed

4 files changed

+10
-14
lines changed

divi/src/MinimumFeeCoinSelectionAlgorithm.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ MinimumFeeCoinSelectionAlgorithm::MinimumFeeCoinSelectionAlgorithm(
2727
const CKeyStore& keyStore,
2828
const I_SignatureSizeEstimator& estimator,
2929
const CFeeRate& minRelayTxFee,
30-
const UtxoPriorityMode utxoPriorityMode
30+
const ChangeOutputType changeOutputType
3131
): keyStore_(keyStore)
3232
, estimator_(estimator)
3333
, minRelayTxFee_(minRelayTxFee)
34-
, utxoPriorityMode_(utxoPriorityMode)
34+
, changeOutputType_(changeOutputType)
3535
{
3636
}
3737

@@ -40,7 +40,7 @@ std::set<COutput> MinimumFeeCoinSelectionAlgorithm::SelectCoins(
4040
const std::vector<COutput>& vCoins,
4141
CAmount& fees) const
4242
{
43-
const unsigned nominalChangeOutputSize = (utxoPriorityMode_ == UtxoPriorityMode::MINIMUM_COIN_AGE)? 59u: 34u; // Vault? Vault-Change : P2PKH change address
43+
const unsigned nominalChangeOutputSize = static_cast<unsigned>(changeOutputType_); // Vault? Vault-Change : P2PKH change address
4444
CTransaction initialTransaction = CTransaction(transactionToSelectCoinsFor);
4545
const unsigned initialByteSize = ::GetSerializeSize(initialTransaction, SER_NETWORK, PROTOCOL_VERSION);
4646

@@ -79,7 +79,7 @@ std::set<COutput> MinimumFeeCoinSelectionAlgorithm::SelectCoins(
7979
inputsToSpendAndSignatureSizeEstimates.end(),
8080
[totalAmountNeeded,this](const InputToSpendAndSigSize& inputA, const InputToSpendAndSigSize& inputB)
8181
{
82-
if(utxoPriorityMode_ == UtxoPriorityMode::MINIMUM_COIN_AGE && inputA.outputRef->nDepth != inputB.outputRef->nDepth)
82+
if(changeOutputType_ == ChangeOutputType::VAULT && inputA.outputRef->nDepth != inputB.outputRef->nDepth)
8383
{
8484
return inputA.outputRef->nDepth < inputB.outputRef->nDepth;
8585
}

divi/src/MinimumFeeCoinSelectionAlgorithm.h

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,6 @@ class CKeyStore;
55
class I_SignatureSizeEstimator;
66
class CFeeRate;
77

8-
enum UtxoPriorityMode
9-
{
10-
MINIMUM_FEES,
11-
MINIMUM_COIN_AGE,
12-
};
138
enum class ChangeOutputType
149
{
1510
P2PKH = 34u,
@@ -33,13 +28,13 @@ class MinimumFeeCoinSelectionAlgorithm final: public I_CoinSelectionAlgorithm
3328
const CKeyStore& keyStore_;
3429
const I_SignatureSizeEstimator& estimator_;
3530
const CFeeRate& minRelayTxFee_;
36-
const UtxoPriorityMode utxoPriorityMode_;
31+
const ChangeOutputType changeOutputType_;
3732
public:
3833
MinimumFeeCoinSelectionAlgorithm(
3934
const CKeyStore& keyStore,
4035
const I_SignatureSizeEstimator& estimator,
4136
const CFeeRate& minRelayTxFee,
42-
const UtxoPriorityMode utxoPriorityMode = UtxoPriorityMode::MINIMUM_FEES);
37+
const ChangeOutputType changeOutputType);
4338
bool isSelectable(const COutput& coin) const override { return true; };
4439
std::set<COutput> SelectCoins(
4540
const CMutableTransaction& transactionToSelectCoinsFor,

divi/src/rpcwallet.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,8 @@ class AccountCoinSelector final: public I_FilteredCoinSelector
471471
new MinimumFeeCoinSelectionAlgorithm(
472472
wallet,
473473
signatureSizeEstimator_,
474-
FeeAndPriorityCalculator::instance().getMinimumRelayFeeRate()));
474+
FeeAndPriorityCalculator::instance().getMinimumRelayFeeRate(),
475+
ChangeOutputType::P2PKH));
475476
}
476477
~AccountCoinSelector(){ coinSelector_.reset(); }
477478

@@ -511,7 +512,7 @@ class VaultCoinSelector final: public I_FilteredCoinSelector
511512
wallet,
512513
signatureSizeEstimator_,
513514
FeeAndPriorityCalculator::instance().getMinimumRelayFeeRate(),
514-
UtxoPriorityMode::MINIMUM_COIN_AGE));
515+
ChangeOutputType::VAULT));
515516
}
516517
~VaultCoinSelector(){ coinSelector_.reset(); }
517518

divi/src/test/MinimumFeeCoinSelectionAlgorithm_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class MinimumFeeCoinSelectionAlgorithmTestFixture
5252
, keyIds()
5353
, mockSignatureSizeEstimator()
5454
, feeRate(10000)
55-
, algorithm(keystore_,mockSignatureSizeEstimator,feeRate)
55+
, algorithm(keystore_,mockSignatureSizeEstimator,feeRate,ChangeOutputType::P2PKH)
5656
, scriptGenerator()
5757
, smallScriptSigReqScript(scriptGenerator(25))
5858
, largeScriptSigReqScript(scriptGenerator(25))

0 commit comments

Comments
 (0)