37 Commits
Author SHA1 Message Date
S3RK 17554efb60 test: prefer sqlite for wallet tests 2022-12-06 09:17:25 +01:00
S3RK 8e0fabaabf test: make wallet_migration.py pass with both wallet flags 2022-12-06 09:17:24 +01:00
S3RK 3282fad599 wallet: add assert to SelectionResult::Merge for safety 2022-12-02 12:39:15 -03:00
S3RK 4fef534428 wallet: use GetChange() when computing waste 2022-08-15 09:35:20 +02:00
S3RK 87e0ef9031 wallet: use GetChange() in tx building 2022-08-15 09:35:20 +02:00
S3RK 15e97a6886 wallet: add SelectionResult::GetChange 2022-08-15 09:35:20 +02:00
S3RK 72cad28da0 wallet: calculate and store min_viable_change 2022-08-15 09:35:13 +02:00
S3RK e3210a7225 wallet: account for preselected inputs in target
When we have preselected inputs the coin selection search target is reduced
by the sum of (effective) values. This causes incorrect m_target value.

Create separate instance of SelectionResult for all the preselected inputs and
set the target equal to the sum of (effective) values. Target for preselected
SelectionResult is equal to the delta for the search target. To get the final
SelectionResult with accurate m_target we merge both SelectionResult instances.
2022-08-15 09:34:38 +02:00
S3RK f8e796348b wallet: add SelectionResult::Merge 2022-08-15 09:34:38 +02:00
S3RK 06f558e4e2 wallet: accurate SelectionResult::m_target
SelectionResult::m_target should be equal to actual selection target.
Selection target is the sum of all recipient amounts plus non input fees.
So we need to remove change_fee from the m_target. It's safe because change
target is always greater than the change fee, so we can always cover fees
if change output is created.
2022-08-15 09:34:38 +02:00
S3RK c8cf08ea74 wallet: ensure m_min_change_target always covers change fee 2022-08-15 09:34:26 +02:00
S3RK 140d942634 wallet: don't add change fee to target if subtracting fees from output 2022-06-30 08:55:48 +02:00
S3RK 25e4762ae7 wallet: more accurate tx_noinputs_size 2022-06-29 09:02:20 +02:00
S3RK d54c5c8b1b wallet: use CCoinControl to estimate signature size 2022-06-28 08:54:39 +02:00
S3RK a94659c84e wallet: replace GetTxSpendSize with CalculateMaximumSignedInputSize 2022-06-28 08:33:40 +02:00
S3RK 7832e9438f test: fundrawtransaction preset input weight calculation 2022-05-18 08:25:08 +02:00
S3RK c3981e379f wallet: do not count wallet utxos as external 2022-05-18 08:25:04 +02:00
S3RK 3ee6d0788e test: add more wallet conflicts assertions
verify wallet conflicts from the receiver's side
2022-01-20 10:13:03 +01:00
S3RK 3b98bf9c43 Revert "Add to spends only transcations from me"
This reverts commit d04566415e.
2022-01-17 08:54:08 +01:00
S3RK 3d71d16d1e test: listtranscations with externally generated addresses 2021-10-06 10:01:53 +02:00
S3RK d04566415e Add to spends only transcations from me 2021-10-06 10:01:53 +02:00
S3RK 9f3a622b1c Automatically add labels to detected receiving addresses 2021-10-06 10:01:48 +02:00
S3RK c1b99c088c Return used destinations from ScriptPubKeyMan::MarkUnusedAddresses 2021-10-06 08:23:53 +02:00
S3RK 03840c2064 Add CWallet::IsInternalScriptPubKeyMan 2021-10-06 08:23:53 +02:00
S3RK 456e350926 wallet: resolve ambiguity of two ScriptPubKey managers providing same script 2021-10-05 09:50:38 +02:00
S3RK 0bc666b053 doc: add info for debugging with relative paths 2021-08-21 20:42:42 +02:00
S3RK 8dcbbbea64 test: fix bug in 22686 2021-08-19 10:09:36 +02:00
S3RK bb822a7af8 wallet, rpc: add listdescriptors private option 2021-07-10 15:20:52 +02:00
S3RK a8b515c317 configure: keep relative paths in debug info
Revert to the state prior to e507acbe and allow debugging
from project root dir with `gdb src/bitcoind`.
2021-07-06 08:57:23 +02:00
S3RK 181181019c refactor: remove m_internal from DescriptorSPKman
Descriptor in itself is neither internal or external.
It's responsibility of a wallet to assign and manage descriptors
for a specific purpose. Duplicating such information could lead to
inconsistencies and unexpected behaviour.
2021-06-30 08:37:50 +02:00
S3RK 6084d2caed wallet: do not spam about non-existent spk managers 2021-06-29 08:16:39 +02:00
S3RK 3efaf83c75 wallet: deactivate descriptor 2021-06-28 21:44:50 +02:00
S3RK 6737d9655b test: wallet importdescriptors update existing 2021-06-28 21:44:50 +02:00
S3RK 586f1d53d6 wallet: maintain SPK consistency on internal flag change 2021-06-28 21:44:50 +02:00
S3RK f1b7db1474 wallet: don't mute exceptions in importdescriptors 2021-06-28 21:37:44 +02:00
S3RK bf68ebc1cd wallet: allow to import same descriptor twice 2021-06-28 21:37:37 +02:00
S3RK 451b96f7d2 test: kill process group to avoid dangling processes 2021-06-15 09:37:58 +02:00