Commit Graph
1212 Commits
Author SHA1 Message Date
Daniela Brozzoni c43f201e35 [wallet] Add tests for BranchAndBoundCoinSelection::single_random_draw 2020-11-13 12:42:06 +01:00
Daniela Brozzoni 23824321ba [wallet] Add tests for BranchAndBoundCoinSelection::bnb 2020-11-13 12:42:06 +01:00
Daniela Brozzoni be91997d84 [wallet] Add tests for BranchAndBoundCoinSelection::coin_select 2020-11-13 12:42:06 +01:00
Daniela Brozzoni 99060c5627 [wallet] Add Branch and Bound coin selection 2020-11-13 12:42:06 +01:00
Daniela Brozzoni a86706d1a6 [wallet] Use TXIN_DEFAULT_WEIGHT constant in coin selection
Replace all the occurences of `serialize(&txin)`
with TXIN_DEFAULT_WEIGHT.
2020-11-13 12:42:06 +01:00
Alekos Filini 36c5a4dc0c [wallet] Split send_all into set_single_recipient and drain_wallet
Previously `send_all` was particularly confusing, because when used on a
`create_tx` it implied two things:
- spend everything that's in the wallet (if no utxos are specified)
- don't create a change output

But when used on a `bump_fee` it only meant to not add a change output
and instead reduce the only existing output to increase the fee.

This has now been split into two separate options that should hopefully
make it more clear to use, as described in #142.

Additionally, `TxBuilder` now has a "context", that basically allows to
make some flags available only when they are actually meaningful, either
for `create_tx` or `bump_fee`.

Closes #142.
2020-11-05 12:06:43 +01:00
Alekos Filini f67bfe7bfc Merge commit 'refs/pull/156/head' of github.com:bitcoindevkit/bdk 2020-11-05 11:44:29 +01:00
LLFourn 796f9f5a70 Make Signer and AddressValidator Send and Sync 2020-11-03 16:16:32 +11:00
LLFourn 3b3659fc0c Remove redundant Box around signers 2020-11-03 16:06:43 +11:00
LLFourn 5784a95e48 Remove redundant Box around address validators 2020-11-03 16:06:43 +11:00
Steve Myers f7499cb65d [ci] test with all features enabled in single run 2020-11-02 19:06:41 -08:00
Steve Myers 40bf9f8b79 [ci] Add code coverage github actions workflow 2020-11-02 13:18:52 -08:00
Riccardo Casatta 30f1ff5ab5 [repl] add max_addresses param in sync 2020-10-30 15:04:09 +01:00
Alekos Filini e6c2823a36 Merge commit 'refs/pull/146/head' of github.com:bitcoindevkit/bdk 2020-10-29 11:53:22 +01:00
Steve Myers 4a75f96d35 [ci] Enable clippy for stable and tests by default 2020-10-28 21:48:40 -07:00
Steve Myers 4f7355ec82 [ci] Fix all-keys and cli-utils tests 2020-10-28 21:34:04 -07:00
Steve Myers 7b9df5bbe5 [ci] Enable clippy and test for optional features 2020-10-28 17:51:03 -07:00
Steve Myers 8d04128c74 [ci] Fix or ignore clippy warnings for all optional features except compact_filters 2020-10-28 17:50:12 -07:00
Murch 457e70e70f Rename get_must_may_use_utxos to preselect_utxos 2020-10-27 23:24:03 -04:00
Murch 84aee3baab Rename may_use_utxos to optional_uxtos 2020-10-27 23:24:03 -04:00
Alekos Filini 297e92a829 Merge commit 'refs/pull/115/head' of github.com:bitcoindevkit/bdk 2020-10-27 11:04:00 +01:00
Steve Myers 8927d68a69 [descriptor] Comment out incomplete ExtractPolicy trait tests 2020-10-26 12:48:31 -07:00
Steve Myers 3a80e87ccb [descriptor] Fix compile errors after rebase 2020-10-26 12:48:27 -07:00
Steve Myers e31f5306d2 [descriptor] Add descriptor macro tests 2020-10-26 12:48:23 -07:00
Steve Myers 9fa9a304b9 [descriptor] Add get_checksum tests, cleanup tests 2020-10-26 12:48:19 -07:00
Steve Myers bc0e9c9831 [descriptor] Add ExtractPolicy trait tests 2020-10-26 12:48:15 -07:00
Murch 43a51a1ec3 Rename must_use_utxos to required_utxos 2020-10-26 14:40:44 -04:00
Murch b2ec6e3683 Rename DumbCS to LargestFirstCoinSelection 2020-10-26 14:20:44 -04:00
LLFourn 8d65581825 Incorporate RBF rules into utxo selection function 2020-10-23 13:54:59 +11:00
LLFourn a6b70af2fb [wallet] Stop implicitly enforcing manaul selection by .add_utxo
This makes it possible to choose a UTXO manually without having to
choose them *all* manually. I introduced the `manually_selected_only`
option to enforce that only manually selected utxos can be used.

To stop the cli semantics changing I made the `utxos` keep the old
behaviour by calling `manually_selected_only`.
2020-10-23 13:54:59 +11:00
LLFourn b87c7c5dc7 [wallet] Make 'unspendable' into a HashSet
to avoid awkwardly later on.
2020-10-23 13:54:59 +11:00
LLFourn c549281ace [wallet] Replace ChangeSpendPolicy::filter_utxos with a predicate
To make composing it with other filtering conditions easier.
2020-10-23 13:54:59 +11:00
Richard Ulrich 365a91f805 Merging two match expressions for fee calculation 2020-10-22 13:41:26 +02:00
Richard Ulrich 49894ffa6d Implementing review suggestions from afilini 2020-10-22 09:11:58 +02:00
Richard Ulrich 759f6eac43 complying with clippy from the github CI 2020-10-20 18:22:37 +02:00
Richard Ulrich 27890cfcff allow to definie static fees for transactions Fixes #137 2020-10-20 18:10:59 +02:00
Alekos Filini 872d55cb4c [wallet] Default to SIGHASH_ALL if not specified
Closes #133
2020-10-16 15:40:30 +02:00
Alekos Filini 12635e603f [wallet] Refactor Wallet::bump_fee() 2020-10-16 14:49:05 +02:00
Alekos Filini a5713a8348 [wallet] Improve CoinSelectionAlgorithm
Implement the improvements described in issue #121.

Closes #121, closes #131.
2020-10-16 14:30:44 +02:00
LLFourn 17f7294c8e [wallet] Make coin_select take may/must use utxo lists
so that in the future you can add a UTXO that you *must* spend and let
the coin selection fill in the rest.

This partially addresses #121
2020-10-16 14:28:22 +02:00
LLFourn 64b4cfe308 Use collect to avoid iter unwrapping Options 2020-10-15 13:41:36 +11:00
Alekos Filini 0caad5f3d9 [blockchain] Fix receiving a coinbase using Electrum/Esplora
Closes #107
2020-10-13 11:56:59 +02:00
Alekos Filini 848b52c50e [keys]: Re-export tiny-bip39
Closes #104
2020-10-13 10:57:40 +02:00
Alekos Filini 100f0aaa0a Bump rust-bitcoin to 0.25, fix Cargo dependencies
Closes #112, closes #113, closes #124
2020-10-13 10:39:48 +02:00
Steve Myers 69ef56cfed [ci] Remove travis.yml 2020-10-12 09:30:20 -07:00
Steve Myers 070d481849 [ci] Fix clippy warnings for 1.47.0 2020-10-10 10:31:08 -07:00
Steve Myers 98803b2573 [ci] Use bitcoindevkit/electrs base image for electrum tests 2020-10-10 10:31:08 -07:00
Steve Myers aea9abff8a [ci] Fix clippy warnings, enable clippy checks 2020-10-10 10:31:07 -07:00
Steve Myers 6402fd07c2 [ci] Consolidate build, test, clippy jobs 2020-10-10 10:31:07 -07:00
Alekos Filini 8e7b195e93 Add a Discord badge to the README 2020-10-07 10:00:06 +02:00