Improve CFeeBumper interface, add comments, make use of std::move
This commit is contained in:
parent
0df22ed6fd
commit
5f59d3ecb7
3 changed files with 18 additions and 3 deletions
|
@ -42,7 +42,7 @@ int64_t CalculateMaximumSignedTxSize(const CTransaction &tx, const CWallet *pWal
|
|||
|
||||
CFeeBumper::CFeeBumper(const CWallet *pWallet, const uint256 txidIn, int newConfirmTarget, bool specifiedConfirmTarget, CAmount totalFee, bool newTxReplaceable)
|
||||
:
|
||||
txid(txidIn),
|
||||
txid(std::move(txidIn)),
|
||||
nOldFee(0),
|
||||
nNewFee(0)
|
||||
{
|
||||
|
@ -229,6 +229,11 @@ CFeeBumper::CFeeBumper(const CWallet *pWallet, const uint256 txidIn, int newConf
|
|||
currentResult = BumpFeeResult::OK;
|
||||
}
|
||||
|
||||
bool CFeeBumper::signTransaction(CWallet *pWallet)
|
||||
{
|
||||
return pWallet->SignTransaction(mtx);
|
||||
}
|
||||
|
||||
bool CFeeBumper::commit(CWallet *pWallet)
|
||||
{
|
||||
AssertLockHeld(pWallet->cs_wallet);
|
||||
|
|
|
@ -28,9 +28,19 @@ public:
|
|||
const std::vector<std::string>& getErrors() const { return vErrors; }
|
||||
CAmount getOldFee() const { return nOldFee; }
|
||||
CAmount getNewFee() const { return nNewFee; }
|
||||
CMutableTransaction* getBumpedTxRef() { return &mtx; }
|
||||
uint256 getBumpedTxId() const { return bumpedTxid; }
|
||||
|
||||
/* signs the new transaction,
|
||||
* returns false if the tx couldn't be found or if it was
|
||||
* improssible to create the signature(s)
|
||||
*/
|
||||
bool signTransaction(CWallet *pWallet);
|
||||
|
||||
/* commits the fee bump,
|
||||
* returns true, in case of CWallet::CommitTransaction was successful
|
||||
* but, eventually sets vErrors if the tx could not be added to the mempool (will try later)
|
||||
* or if the old transaction could not be marked as replaced
|
||||
*/
|
||||
bool commit(CWallet *pWalletNonConst);
|
||||
|
||||
private:
|
||||
|
|
|
@ -2895,7 +2895,7 @@ UniValue bumpfee(const JSONRPCRequest& request)
|
|||
}
|
||||
|
||||
// sign bumped transaction
|
||||
if (!pwallet->SignTransaction(*feeBump.getBumpedTxRef())) {
|
||||
if (!feeBump.signTransaction(pwallet)) {
|
||||
throw JSONRPCError(RPC_WALLET_ERROR, "Can't sign transaction.");
|
||||
}
|
||||
// commit the bumped transaction
|
||||
|
|
Loading…
Reference in a new issue