0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-05 10:17:30 -05:00
bitcoin-bitcoin-core/src/wallet
MeshCollider 4f4ef3138b
Merge #15557: Enhance bumpfee to include inputs when targeting a feerate
184f8785f wallet_bumpfee.py: add test for change key preservation (Gregory Sanders)
d08becff8 add functional tests for feerate bumpfee with adding inputs (Gregory Sanders)
0ea47ba7b generalize bumpfee to add inputs when needed (Gregory Sanders)

Pull request description:

  When targeting a feerate using `bumpfee`, call a new function that directly uses `CWallet::CreateTransaction` and coin control to get the desired result. This allows us to get a superset of previous behavior, with an arbitrary RBF bump of a transaction provided it passes the preconditional checks and spare confirmed utxos are available.

  Note(s):
  0) The coin selection will use knapsack solver for the residual selection.
  1) This functionality, just like knapsack coin selection in general, will hoover up negative-value inputs when given the chance.
  2) Newly added inputs must be confirmed due to current Core policy. See error: `replacement-adds-unconfirmed`
  3) Supporting this with `totalFee` is difficult since the "minimum total fee" option in `CreateTransaction` logic was (rightly)taken out in #10390 .

ACKs for commit 184f87:
  jnewbery:
    utACK 184f8785f7

Tree-SHA512: fb6542bdfb2c6010e328ec475cf9dcbff4eb2b1a1b27f78010214534908987a5635797196fa05edddffcbcf2987335872dc644a99261886d5cbb34a8f262ad3e
2019-04-15 08:39:50 +12:00
..
test bitcoin-wallet tool: Drop MakeChain calls 2019-04-10 09:51:37 -04:00
coincontrol.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
coincontrol.h generalize bumpfee to add inputs when needed 2019-04-11 07:21:49 -04:00
coinselection.cpp Introduce a Shuffle for FastRandomContext and use it in wallet and coinselection 2018-12-12 14:22:12 -08:00
coinselection.h amount: Move CAmount CENT to unit test header 2018-09-17 14:34:56 -04:00
crypter.cpp [wallet] Support creating a blank wallet 2019-02-10 12:24:53 -05:00
crypter.h [tools] Add wallet inspection and modification tool 2019-01-30 16:26:52 -05:00
db.cpp wallet: Improve log output for errors during load 2019-03-14 18:49:19 -07:00
db.h wallet: Improve log output for errors during load 2019-03-14 18:49:19 -07:00
feebumper.cpp generalize bumpfee to add inputs when needed 2019-04-11 07:21:49 -04:00
feebumper.h generalize bumpfee to add inputs when needed 2019-04-11 07:21:49 -04:00
fees.cpp Remove remaining wallet accesses to node globals 2019-03-06 16:47:57 -05:00
fees.h Remove uses of fee globals in wallet code 2019-02-22 15:43:02 -04:00
init.cpp [build] Move wallet load functions to wallet/load unit 2019-04-09 17:53:08 -04:00
load.cpp [build] Move wallet load functions to wallet/load unit 2019-04-09 17:53:08 -04:00
load.h [build] Move wallet load functions to wallet/load unit 2019-04-09 17:53:08 -04:00
psbtwallet.cpp Remove unused TransactionError constants 2019-02-14 10:32:02 -05:00
psbtwallet.h Remove unused TransactionError constants 2019-02-14 10:32:02 -05:00
rpcdump.cpp Take non-importing keys into account for spendability warning in descriptor import 2019-04-06 09:14:56 -07:00
rpcwallet.cpp generalize bumpfee to add inputs when needed 2019-04-11 07:21:49 -04:00
rpcwallet.h Remove use of CRPCTable::appendCommand in wallet code 2019-03-05 10:20:00 -04:00
wallet.cpp generalize bumpfee to add inputs when needed 2019-04-11 07:21:49 -04:00
wallet.h Merge #15748: [rpc] remove dead mining code 2019-04-14 16:09:05 +12:00
walletdb.cpp [build] Move CheckTransaction from lib_server to lib_consensus 2019-04-09 17:53:08 -04:00
walletdb.h Store key origin info in key metadata 2019-02-14 17:58:25 -05:00
wallettool.cpp bitcoin-wallet tool: Drop MakeChain calls 2019-04-10 09:51:37 -04:00
wallettool.h [tools] Add wallet inspection and modification tool 2019-01-30 16:26:52 -05:00
walletutil.cpp wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtree 2019-03-13 20:41:42 +00:00
walletutil.h wallet: Add WalletLocation utility class 2018-10-25 11:53:17 +01:00