You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
e901183 merge bitcoin#24560: Use single FastRandomContext when creating a wallet tx (Kittywhiskers Van Gogh)
5a1850d merge bitcoin#24091: Consolidate CInputCoin and COutput (Kittywhiskers Van Gogh)
8b815dc refactor: make `vecInputCoins` use `COutPoint`, rename to `outpoints` (Kittywhiskers Van Gogh)
3260e07 merge bitcoin#24067: Actually treat (un)confirmed txs as (un)confirmed (Kittywhiskers Van Gogh)
84d9194 merge bitcoin#23762: Replace Assume with Assert where needed in coinselection (Kittywhiskers Van Gogh)
66b5302 wallet: trigger coin selection fast-fail condition over ignoring result (UdjinM6)
d9ee3db wallet: fast-fail coin selection when supplied empty output groups (UdjinM6)
c5038c1 merge bitcoin#22019: Introduce SelectionResult for encapsulating a coin selection solution (Kittywhiskers Van Gogh)
c352062 trivial: invert `SelectCoins` condition check to move bail-out condition (Kittywhiskers Van Gogh)
40550c9 merge bitcoin#22928: Remove gArgs from wallet.h and wallet.cpp (2) (Kittywhiskers Van Gogh)
aae8e91 partial bitcoin#17211: Allow fundrawtransaction and walletcreatefundedpsbt to take external inputs (Kittywhiskers Van Gogh)
870548a merge bitcoin#17526: Add Single Random Draw as an additional coin selection algorithm (Kittywhiskers Van Gogh)
Pull request description:
## Additional Information
* While [bitcoin#17526](bitcoin#17526) introduces Single Random Draw (SRD) as a new coin-selection algorithm, it remains disabled (like BnB) as it is unaware of mixed funds.
* UTXO (un)locking as introduced in df765a4 for `rpc_fundrawtransaction.py` has been omitted in the `test_fee_p2pkh()` sub-test as we do not have any other outputs except for `p2pkh`. Failing to do so results in test failure (see below).
<details>
<summary>Test error:</summary>
```
dash@507c3774b68c:/src/dash$ ./test/functional/rpc_fundrawtransaction.py
2025-05-06T06:48:01.101000Z TestFramework (INFO): PRNG seed is: 4612096820677160739
2025-05-06T06:48:01.101000Z TestFramework (INFO): Initializing test directory /tmp/dash_func_test_n3i0k9yc
2025-05-06T06:48:04.177000Z TestFramework (INFO): Connect nodes, set fees, generate blocks, and sync
[...]
2025-05-06T06:48:09.249000Z TestFramework (INFO): Test fundrawtxn p2pkh fee
2025-05-06T06:48:09.298000Z TestFramework (ERROR): JSONRPC error
Traceback (most recent call last):
File "/src/dash/test/functional/test_framework/test_framework.py", line 162, in main
self.run_test()
File "/src/dash/./test/functional/rpc_fundrawtransaction.py", line 115, in run_test
self.test_fee_p2pkh()
File "/src/dash/./test/functional/rpc_fundrawtransaction.py", line 398, in test_fee_p2pkh
fundedTx = self.nodes[0].fundrawtransaction(rawtx)
File "/src/dash/test/functional/test_framework/coverage.py", line 49, in __call__
return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
File "/src/dash/test/functional/test_framework/authproxy.py", line 143, in __call__
raise JSONRPCException(response['error'], status)
test_framework.authproxy.JSONRPCException: Insufficient funds. (-4)
2025-05-06T06:48:09.802000Z TestFramework (INFO): Stopping nodes
```
</details>
* In [bitcoin#22019](bitcoin#22019) we don't use `SelectionResult::GetShuffledInputVector()` in `CreateTransactionInternal()` because it interferes with our BIP69 sorting implementation that sorts `vin`s instead of `CRecipient`s.
## How Has This Been Tested?
A full CoinJoin session run on 0e33db2

## Breaking Changes
None expected.
## Checklist
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have added or updated relevant unit/integration/functional/e2e tests
- [x] I have made corresponding changes to the documentation **(note: N/A)**
- [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
ACKs for top commit:
UdjinM6:
LGTM, utACK e901183
PastaPastaPasta:
utACK e901183
Tree-SHA512: 8631107e23fc581f23a366e468c10079d72c41b81475e1f33f79262ec3706b48cbc464fe83e31d33070f58c03340189431e4fbd81a7d13b5f056bfcc2f96929a
0 commit comments