elements/src/wallet
Andrew Chow 3497df4c75
Merge bitcoin/bitcoin#27195: bumpfee: allow send coins back to yourself
be72663a15 test: bumpfee, add coverage for "send coins back to yourself" (furszy)
7bffec6715 bumpfee: enable send coins back to yourself (furszy)

Pull request description:

  Simple example:

  1) User_1 sends 0.1 btc to user_2 on a low fee transaction.
  2) After few hours, the tx is still in the mempool, user_2
     is not interested anymore, so user_1 decides to cancel
     it by sending coins back to himself.
  3) User_1 has the bright idea of opening the explorer and
     copy the change output address of the transaction. Then
     call bumpfee providing such output (in the "outputs" arg).

  Currently, this is not possible. The wallet fails with
  "Unable to create transaction. Transaction must have at least
  one recipient" error.
  The error reason is because we discard the provided output
  from the recipients list and set it inside the coin control
  so the process adds it later (when the change is calculated).
  But.. there is no later if the tx has no outputs.

ACKs for top commit:
  ishaanam:
    reACK be72663a15
  achow101:
    ACK be72663a15

Tree-SHA512: c2c38290a998f9b426a830d9624c7feb730158980ac186f8fb0138d5e200935d6538307bc60a2c3d0b7b6ee2b4ffb77a1e98baf8feb1d20a7d825f6055ac377f
2023-05-01 08:38:50 -04:00
..
rpc Merge bitcoin/bitcoin#25680: rpc, docs: Add note for commands that supports only legacy wallets 2023-05-01 08:24:42 -04:00
test Merge bitcoin/bitcoin#27224: refactor: Remove CAddressBookData::destdata 2023-05-01 08:16:54 -04:00
bdb.cpp Merge bitcoin/bitcoin#27224: refactor: Remove CAddressBookData::destdata 2023-05-01 08:16:54 -04:00
bdb.h Merge bitcoin/bitcoin#27224: refactor: Remove CAddressBookData::destdata 2023-05-01 08:16:54 -04:00
coincontrol.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
coincontrol.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
coinselection.cpp Merge bitcoin/bitcoin#27419: move-only: Extract common/args from util/system 2023-04-21 11:19:08 +01:00
coinselection.h Merge bitcoin/bitcoin#26720: wallet: coin selection, don't return results that exceed the max allowed weight 2023-04-20 16:33:39 -04:00
context.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
context.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
crypter.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
crypter.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
db.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
db.h wallet: Add DatabaseBatch::ErasePrefix method 2023-04-12 05:30:43 -04:00
dump.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
dump.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
external_signer_scriptpubkeyman.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
external_signer_scriptpubkeyman.h wallet: set keypool_size instead of access global args manager 2023-02-15 15:49:44 -03:00
feebumper.cpp bumpfee: enable send coins back to yourself 2023-04-15 10:44:50 -03:00
feebumper.h wallet: add outputs arguments to bumpfee and psbtbumpfee 2023-01-17 13:28:53 +02:00
fees.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
fees.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
init.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
interfaces.cpp Merge bitcoin/bitcoin#27224: refactor: Remove CAddressBookData::destdata 2023-05-01 08:16:54 -04:00
load.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
load.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
receive.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
receive.h wallet: Add wallet/types.h for simple public enum and struct types 2023-04-11 15:52:25 -04:00
salvage.cpp refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
salvage.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
scriptpubkeyman.cpp Merge bitcoin/bitcoin#27274: refactor: remove unused param from legacy pubkey interface 2023-03-31 17:03:32 +01:00
scriptpubkeyman.h wallet: Add wallet/types.h for simple public enum and struct types 2023-04-11 15:52:25 -04:00
spend.cpp Merge bitcoin/bitcoin#27419: move-only: Extract common/args from util/system 2023-04-21 11:19:08 +01:00
spend.h gui: bugfix, getAvailableBalance skips selected coins 2023-04-03 17:23:42 -03:00
sqlite.cpp wallet: Add DatabaseBatch::ErasePrefix method 2023-04-12 05:30:43 -04:00
sqlite.h wallet: Add DatabaseBatch::ErasePrefix method 2023-04-12 05:30:43 -04:00
transaction.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
transaction.h wallet: Add wallet/types.h for simple public enum and struct types 2023-04-11 15:52:25 -04:00
types.h wallet: add AddressPurpose enum to replace string values 2023-04-11 15:52:25 -04:00
wallet.cpp Merge bitcoin/bitcoin#27224: refactor: Remove CAddressBookData::destdata 2023-05-01 08:16:54 -04:00
wallet.h Merge bitcoin/bitcoin#27224: refactor: Remove CAddressBookData::destdata 2023-05-01 08:16:54 -04:00
walletdb.cpp refactor: Remove CAddressBookData::destdata 2023-04-12 05:30:43 -04:00
walletdb.h refactor: Remove CAddressBookData::destdata 2023-04-12 05:30:43 -04:00
wallettool.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
wallettool.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
walletutil.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
walletutil.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00