elements/src/wallet
furszy 6a302d40df
wallet: single output groups filtering and grouping process
Optimizes coin selection by performing the "group outputs"
procedure only once, outside the "attempt selection" process.

Avoiding the repeated execution of the 'GroupOutputs' operation
that occurs on each coin eligibility filters (up to 8 of them);
then for every coin vector type plus one for all the coins together.

This also let us not perform coin selection over coin eligibility
filtered groups that don't add new elements.
(because, if the previous round failed, and the subsequent one has
the same coins, then this new round will fail again).
2023-03-06 09:45:40 -03:00
..
rpc Merge bitcoin/bitcoin#27068: wallet: SecureString to allow null characters 2023-02-22 13:02:16 -05:00
test wallet: single output groups filtering and grouping process 2023-03-06 09:45:40 -03:00
bdb.cpp clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
bdb.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
coincontrol.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
coincontrol.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
coinselection.cpp wallet: unify outputs grouping process 2023-03-06 09:45:40 -03:00
coinselection.h wallet: single output groups filtering and grouping process 2023-03-06 09:45:40 -03: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 Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
db.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
dump.cpp refactor: remove <util/system.h> include from wallet.h 2023-02-15 15:49:45 -03:00
dump.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
external_signer_scriptpubkeyman.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00: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 wallet: add outputs arguments to bumpfee and psbtbumpfee 2023-01-17 13:28:53 +02: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 Remove -sysperms option 2023-02-05 08:09:16 +00:00
interfaces.cpp wallet: add outputs arguments to bumpfee and psbtbumpfee 2023-01-17 13:28:53 +02:00
ismine.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
load.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00: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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
salvage.cpp refactor: wallet, remove global 'ArgsManager' access 2023-02-15 15:49:45 -03:00
salvage.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
scriptpubkeyman.cpp wallet: annotate bools in descriptor SPKM FillPSBT() 2023-02-23 11:46:29 +01:00
scriptpubkeyman.h wallet: set keypool_size instead of access global args manager 2023-02-15 15:49:44 -03:00
spend.cpp wallet: single output groups filtering and grouping process 2023-03-06 09:45:40 -03:00
spend.h wallet: single output groups filtering and grouping process 2023-03-06 09:45:40 -03:00
sqlite.cpp Use DataStream where possible 2023-01-26 10:44:05 +01:00
sqlite.h Use DataStream where possible 2023-01-26 10:44:05 +01:00
transaction.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
transaction.h Merge bitcoin/bitcoin#26499: wallet: Abandon descendants of orphaned coinbases 2023-01-30 10:09:41 +00:00
wallet.cpp wallet: skip R-value grinding for external signers 2023-02-23 18:30:12 +01:00
wallet.h wallet: skip R-value grinding for external signers 2023-02-23 18:30:12 +01:00
walletdb.cpp Use DataStream where possible 2023-01-26 10:44:05 +01:00
walletdb.h Use DataStream where possible 2023-01-26 10:44:05 +01:00
wallettool.cpp refactor: wallet, remove global 'ArgsManager' access 2023-02-15 15:49:45 -03:00
wallettool.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
walletutil.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
walletutil.h Implement LegacyScriptPubKeyMan::MigrateToDescriptor 2022-08-25 16:25:53 -04:00