]> Untitled Git - bdk/log
bdk
5 years agoMissing docs for electrum.rs
Riccardo Casatta [Fri, 27 Nov 2020 09:25:12 +0000 (10:25 +0100)]
Missing docs for electrum.rs

5 years ago[changelog] Update CHANGELOG.md to document `PSBT_GLOBAL_XPUB`
Alekos Filini [Tue, 1 Dec 2020 10:12:40 +0000 (11:12 +0100)]
[changelog] Update CHANGELOG.md to document `PSBT_GLOBAL_XPUB`

Log the changes made in PR #200

5 years ago[wallet] Add tests for `TxBuilder::add_global_xpubs()`
Alekos Filini [Tue, 1 Dec 2020 10:10:14 +0000 (11:10 +0100)]
[wallet] Add tests for `TxBuilder::add_global_xpubs()`

5 years ago[wallet] Add a flag to fill-in `PSBT_GLOBAL_XPUB`
Alekos Filini [Mon, 30 Nov 2020 14:13:33 +0000 (15:13 +0100)]
[wallet] Add a flag to fill-in `PSBT_GLOBAL_XPUB`

5 years ago[cli] Add a flag to build PSBTs for offline signers
Alekos Filini [Mon, 30 Nov 2020 13:23:19 +0000 (14:23 +0100)]
[cli] Add a flag to build PSBTs for offline signers

The `--offline_signer` flag forces the addition of `non_witness_utxo` and the full
witness and redeem script for every output, which makes it easier for the signer
to identify the change output.

Closes #199

5 years ago[blockchain] Fix clippy warnings
Alekos Filini [Tue, 1 Dec 2020 13:36:15 +0000 (14:36 +0100)]
[blockchain] Fix clippy warnings

5 years ago[wallet] Add wallet.network()
LLFourn [Tue, 1 Dec 2020 02:29:20 +0000 (13:29 +1100)]
[wallet] Add wallet.network()

5 years agoMerge commit 'refs/pull/189/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Mon, 30 Nov 2020 14:38:09 +0000 (15:38 +0100)]
Merge commit 'refs/pull/189/head' of github.com:bitcoindevkit/bdk

5 years agoMerge commit 'refs/pull/191/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Mon, 30 Nov 2020 14:17:09 +0000 (15:17 +0100)]
Merge commit 'refs/pull/191/head' of github.com:bitcoindevkit/bdk

5 years agouse electurm-client updated
Riccardo Casatta [Tue, 24 Nov 2020 11:16:49 +0000 (12:16 +0100)]
use electurm-client updated

5 years agoMerge commit 'refs/pull/188/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Tue, 24 Nov 2020 10:14:47 +0000 (11:14 +0100)]
Merge commit 'refs/pull/188/head' of github.com:bitcoindevkit/bdk

5 years agoSwitch to `miniscript` from `crates.io`
Alekos Filini [Tue, 24 Nov 2020 09:07:37 +0000 (10:07 +0100)]
Switch to `miniscript` from `crates.io`

5 years agoUpdate `tiny-bip39` to v0.8
Alekos Filini [Tue, 24 Nov 2020 09:01:42 +0000 (10:01 +0100)]
Update `tiny-bip39` to v0.8

Fixes #185

5 years agoFix typo in CONTRIBUTING.md
Steve Myers [Tue, 24 Nov 2020 05:40:40 +0000 (21:40 -0800)]
Fix typo in CONTRIBUTING.md

5 years agoAdd CHANGELOG.md
Steve Myers [Tue, 24 Nov 2020 03:04:20 +0000 (19:04 -0800)]
Add CHANGELOG.md

5 years agoRemove trait bounds on Wallet struct
LLFourn [Tue, 24 Nov 2020 01:40:58 +0000 (12:40 +1100)]
Remove trait bounds on Wallet struct

see: https://github.com/rust-lang/api-guidelines/issues/6

5 years ago[wallet] Eagerly finalize inputs
LLFourn [Tue, 17 Nov 2020 06:53:06 +0000 (17:53 +1100)]
[wallet] Eagerly finalize inputs

If we know the final witness/scriptsig for an input we should add it
right away to the PSBT. Before, if we couldn't finalize any of them we
finalized none of them.

5 years agoFix to at least bitcoin ^0.25.2
LLFourn [Mon, 23 Nov 2020 04:06:13 +0000 (15:06 +1100)]
Fix to at least bitcoin ^0.25.2

And fix the fallout.

5 years agoMerge commit 'refs/pull/172/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Fri, 20 Nov 2020 11:06:41 +0000 (12:06 +0100)]
Merge commit 'refs/pull/172/head' of github.com:bitcoindevkit/bdk

5 years agoMerge commit 'refs/pull/184/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Fri, 20 Nov 2020 10:58:31 +0000 (11:58 +0100)]
Merge commit 'refs/pull/184/head' of github.com:bitcoindevkit/bdk

5 years agoUse dirs-next instead of dirs since the latter is unmantained
Riccardo Casatta [Thu, 19 Nov 2020 14:22:46 +0000 (15:22 +0100)]
Use dirs-next instead of dirs since the latter is unmantained

5 years agoMore consistent references with 'signers' variables
Justin Moon [Thu, 19 Nov 2020 16:19:57 +0000 (10:19 -0600)]
More consistent references with 'signers' variables

5 years ago[wallet] Don't wrap SignersContainer arguments in Arc
Justin Moon [Tue, 17 Nov 2020 18:05:32 +0000 (12:05 -0600)]
[wallet] Don't wrap SignersContainer arguments in Arc

5 years agoMerge commit 'refs/pull/169/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Thu, 19 Nov 2020 14:41:17 +0000 (15:41 +0100)]
Merge commit 'refs/pull/169/head' of github.com:bitcoindevkit/bdk

5 years agoAdd scheduled audit check in CI
Riccardo Casatta [Thu, 19 Nov 2020 14:18:04 +0000 (15:18 +0100)]
Add scheduled audit check in CI

5 years ago[ci] Generate a different cache key for every job
Alekos Filini [Thu, 19 Nov 2020 11:20:49 +0000 (12:20 +0100)]
[ci] Generate a different cache key for every job

5 years agopin cc version because last breaks rocksdb build
Riccardo Casatta [Thu, 19 Nov 2020 12:11:06 +0000 (13:11 +0100)]
pin cc version because last breaks rocksdb build

5 years ago[wallet] Add witness and redeem scripts to PSBT outputs
Justin Moon [Mon, 16 Nov 2020 22:25:16 +0000 (16:25 -0600)]
[wallet] Add witness and redeem scripts to PSBT outputs

5 years agoAllow to set concurrency in Esplora config and optionally pass it in repl
Riccardo Casatta [Tue, 17 Nov 2020 08:58:29 +0000 (09:58 +0100)]
Allow to set concurrency in Esplora config and optionally pass it in repl

5 years agoMake esplora call in parallel
Riccardo Casatta [Tue, 3 Nov 2020 21:09:32 +0000 (22:09 +0100)]
Make esplora call in parallel

5 years agoMerge commit 'refs/pull/167/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Wed, 18 Nov 2020 09:44:54 +0000 (10:44 +0100)]
Merge commit 'refs/pull/167/head' of github.com:bitcoindevkit/bdk

5 years agoMerge commit 'refs/pull/166/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Wed, 18 Nov 2020 09:31:51 +0000 (10:31 +0100)]
Merge commit 'refs/pull/166/head' of github.com:bitcoindevkit/bdk

5 years agofix typo
Riccardo Casatta [Wed, 18 Nov 2020 08:27:01 +0000 (09:27 +0100)]
fix typo

5 years ago[descriptor] Add support for `sortedmulti` in `descriptor!`
Alekos Filini [Tue, 17 Nov 2020 22:40:31 +0000 (23:40 +0100)]
[descriptor] Add support for `sortedmulti` in `descriptor!`

5 years agoSwitch to "mainline" rust-miniscript
Alekos Filini [Mon, 16 Nov 2020 21:07:38 +0000 (22:07 +0100)]
Switch to "mainline" rust-miniscript

5 years agoRemove unused varaint HeaderParseFail
Riccardo Casatta [Tue, 17 Nov 2020 17:54:34 +0000 (18:54 +0100)]
Remove unused varaint HeaderParseFail

5 years agoRequire esplora feature for repl example
Riccardo Casatta [Tue, 17 Nov 2020 15:47:58 +0000 (16:47 +0100)]
Require esplora feature for repl example

5 years agoBring less data around
Riccardo Casatta [Tue, 17 Nov 2020 15:29:03 +0000 (16:29 +0100)]
Bring less data around

5 years agoeagerly unwrap height option, save one collect
Riccardo Casatta [Tue, 17 Nov 2020 14:50:15 +0000 (15:50 +0100)]
eagerly unwrap height option, save one collect

5 years agouse flatten instead of unwrap_or
Riccardo Casatta [Tue, 17 Nov 2020 14:24:26 +0000 (15:24 +0100)]
use flatten instead of unwrap_or

5 years agoavoid a max() call by checking minus or equal
Riccardo Casatta [Tue, 17 Nov 2020 14:19:09 +0000 (15:19 +0100)]
avoid a max() call by checking minus or equal

5 years agoUse filter_map instead of filter and map
Riccardo Casatta [Tue, 17 Nov 2020 14:14:24 +0000 (15:14 +0100)]
Use filter_map instead of filter and map

5 years agouse proper type for EsploraHeader, make conversion to BlockHeader infallible
Riccardo Casatta [Tue, 17 Nov 2020 14:08:04 +0000 (15:08 +0100)]
use proper type for EsploraHeader, make conversion to BlockHeader infallible

5 years agoconditionally remove cli args according to enabled feature
Riccardo Casatta [Tue, 17 Nov 2020 13:27:32 +0000 (14:27 +0100)]
conditionally remove cli args according to enabled feature

5 years agoUse our Instant struct to be compatible with wasm
Riccardo Casatta [Tue, 17 Nov 2020 12:46:10 +0000 (13:46 +0100)]
Use our Instant struct to be compatible with wasm

5 years ago[examples] support esplora blockchain source in repl
Riccardo Casatta [Mon, 16 Nov 2020 11:23:02 +0000 (12:23 +0100)]
[examples] support esplora blockchain source in repl

5 years ago[sync] Improve sync
Riccardo Casatta [Mon, 16 Nov 2020 11:18:34 +0000 (12:18 +0100)]
[sync] Improve sync

Make every request in batch, to save round trip times
Fetch timestamp of blockheader to populate timestamp field in transaction
Remove listunspent requests because we can compute it from our history

5 years ago[wallet] Build output lookup inside complete transaction
LLFourn [Tue, 17 Nov 2020 01:37:53 +0000 (12:37 +1100)]
[wallet] Build output lookup inside complete transaction

To avoid the caller having to do it.

5 years ago[wallet] Add test that shwpkh populates witness_utxo
LLFourn [Tue, 17 Nov 2020 01:30:58 +0000 (12:30 +1100)]
[wallet] Add test that shwpkh populates witness_utxo

5 years ago[wallet] Make coin_select return UTXOs instead of TxIns
LLFourn [Fri, 30 Oct 2020 03:09:59 +0000 (14:09 +1100)]
[wallet] Make coin_select return UTXOs instead of TxIns

- We want to keep the metadata in the UTXO around for things later
- It is easier to turn a UTXO into a TxIn outside

5 years ago[ci] Remove actions-rs, cleanup names
Steve Myers [Mon, 16 Nov 2020 23:37:26 +0000 (15:37 -0800)]
[ci] Remove actions-rs, cleanup names

5 years ago[wallet] Use the branch-and-bound cs by default
Alekos Filini [Fri, 13 Nov 2020 14:55:10 +0000 (15:55 +0100)]
[wallet] Use the branch-and-bound cs by default

Keep the `LargestFirst` coin selection for the tests, to make them more
predictable.

5 years agoremove unneeded pub modifier
Riccardo Casatta [Mon, 16 Nov 2020 11:11:37 +0000 (12:11 +0100)]
remove unneeded pub modifier

5 years agoignore .idea
Riccardo Casatta [Mon, 16 Nov 2020 11:09:14 +0000 (12:09 +0100)]
ignore .idea

5 years ago[sync] check last derivation in cache to avoid recomputation
Riccardo Casatta [Mon, 16 Nov 2020 11:06:48 +0000 (12:06 +0100)]
[sync] check last derivation in cache to avoid recomputation

5 years ago[keys] Add a shortcut to generate keys with the default options
Alekos Filini [Fri, 13 Nov 2020 16:43:57 +0000 (17:43 +0100)]
[keys] Add a shortcut to generate keys with the default options

5 years ago[keys] impl `ToDescriptorKey` for `GeneratedKey`
Alekos Filini [Fri, 13 Nov 2020 16:27:36 +0000 (17:27 +0100)]
[keys] impl `ToDescriptorKey` for `GeneratedKey`

5 years ago[keys] impl `GeneratableKey` for `bitcoin::PrivateKey`
Alekos Filini [Fri, 13 Nov 2020 15:43:04 +0000 (16:43 +0100)]
[keys] impl `GeneratableKey` for `bitcoin::PrivateKey`

5 years ago[cli] Split the internal and external policy paths
Alekos Filini [Fri, 13 Nov 2020 11:53:42 +0000 (12:53 +0100)]
[cli] Split the internal and external policy paths

5 years ago[wallet] Take both spending policies into account in create_tx
Alekos Filini [Tue, 10 Nov 2020 14:06:14 +0000 (15:06 +0100)]
[wallet] Take both spending policies into account in create_tx

This allows specifying different "policy paths" for the internal and external
descriptors, and adds additional checks to make sure they are compatibile (i.e.
the timelocks are expressed in the same unit).

It's still suboptimal, since the `n_sequence`s are per-input and not per-transaction,
so it should be possibile to spend different inputs with different, otherwise
incompatible, `CSV` timelocks, but that requires a larger refactor that
can be done in a future patch.

This commit also tries to clarify how the "policy path" should be used by adding
a fairly detailed example to the docs.

5 years ago[wallet] Replace `must_use` with `required` in coin selection
Daniela Brozzoni [Sat, 31 Oct 2020 15:28:30 +0000 (16:28 +0100)]
[wallet] Replace `must_use` with `required` in coin selection

5 years ago[wallet] Add tests for BranchAndBoundCoinSelection::single_random_draw
Daniela Brozzoni [Sat, 31 Oct 2020 15:28:21 +0000 (16:28 +0100)]
[wallet] Add tests for BranchAndBoundCoinSelection::single_random_draw

5 years ago[wallet] Add tests for BranchAndBoundCoinSelection::bnb
Daniela Brozzoni [Sat, 31 Oct 2020 15:28:12 +0000 (16:28 +0100)]
[wallet] Add tests for BranchAndBoundCoinSelection::bnb

5 years ago[wallet] Add tests for BranchAndBoundCoinSelection::coin_select
Daniela Brozzoni [Sat, 31 Oct 2020 15:27:33 +0000 (16:27 +0100)]
[wallet] Add tests for BranchAndBoundCoinSelection::coin_select

5 years ago[wallet] Add Branch and Bound coin selection
Daniela Brozzoni [Sat, 31 Oct 2020 15:24:59 +0000 (16:24 +0100)]
[wallet] Add Branch and Bound coin selection

5 years ago[wallet] Use TXIN_DEFAULT_WEIGHT constant in coin selection
Daniela Brozzoni [Sun, 8 Nov 2020 14:46:27 +0000 (15:46 +0100)]
[wallet] Use TXIN_DEFAULT_WEIGHT constant in coin selection

Replace all the occurences of `serialize(&txin)`
with TXIN_DEFAULT_WEIGHT.

5 years ago[wallet] Split `send_all` into `set_single_recipient` and `drain_wallet`
Alekos Filini [Wed, 28 Oct 2020 09:37:47 +0000 (10:37 +0100)]
[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.

5 years agoMerge commit 'refs/pull/156/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Thu, 5 Nov 2020 10:44:29 +0000 (11:44 +0100)]
Merge commit 'refs/pull/156/head' of github.com:bitcoindevkit/bdk

5 years agoMake Signer and AddressValidator Send and Sync
LLFourn [Tue, 3 Nov 2020 05:06:03 +0000 (16:06 +1100)]
Make Signer and AddressValidator Send and Sync

5 years agoRemove redundant Box around signers
LLFourn [Tue, 3 Nov 2020 05:03:44 +0000 (16:03 +1100)]
Remove redundant Box around signers

5 years agoRemove redundant Box around address validators
LLFourn [Tue, 3 Nov 2020 05:03:04 +0000 (16:03 +1100)]
Remove redundant Box around address validators

5 years ago[ci] test with all features enabled in single run
Steve Myers [Mon, 2 Nov 2020 22:01:58 +0000 (14:01 -0800)]
[ci] test with all features enabled in single run

5 years ago[ci] Add code coverage github actions workflow
Steve Myers [Tue, 27 Oct 2020 22:13:51 +0000 (15:13 -0700)]
[ci] Add code coverage github actions workflow

5 years ago[repl] add max_addresses param in sync
Riccardo Casatta [Fri, 30 Oct 2020 13:43:36 +0000 (14:43 +0100)]
[repl] add max_addresses param in sync

5 years agoMerge commit 'refs/pull/146/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Thu, 29 Oct 2020 10:53:22 +0000 (11:53 +0100)]
Merge commit 'refs/pull/146/head' of github.com:bitcoindevkit/bdk

5 years ago[ci] Enable clippy for stable and tests by default
Steve Myers [Thu, 29 Oct 2020 04:35:15 +0000 (21:35 -0700)]
[ci] Enable clippy for stable and tests by default

5 years ago[ci] Fix all-keys and cli-utils tests
Steve Myers [Thu, 29 Oct 2020 04:34:04 +0000 (21:34 -0700)]
[ci] Fix all-keys and cli-utils tests

5 years ago[ci] Enable clippy and test for optional features
Steve Myers [Thu, 29 Oct 2020 00:47:43 +0000 (17:47 -0700)]
[ci] Enable clippy and test for optional features

5 years ago[ci] Fix or ignore clippy warnings for all optional features except compact_filters
Steve Myers [Wed, 28 Oct 2020 22:34:46 +0000 (15:34 -0700)]
[ci] Fix or ignore clippy warnings for all optional features except compact_filters

5 years agoRename get_must_may_use_utxos to preselect_utxos
Murch [Mon, 26 Oct 2020 18:23:46 +0000 (14:23 -0400)]
Rename get_must_may_use_utxos to preselect_utxos

5 years agoRename may_use_utxos to optional_uxtos
Murch [Mon, 26 Oct 2020 18:12:46 +0000 (14:12 -0400)]
Rename may_use_utxos to optional_uxtos

5 years agoMerge commit 'refs/pull/115/head' of github.com:bitcoindevkit/bdk
Alekos Filini [Tue, 27 Oct 2020 10:04:00 +0000 (11:04 +0100)]
Merge commit 'refs/pull/115/head' of github.com:bitcoindevkit/bdk

5 years ago[descriptor] Comment out incomplete ExtractPolicy trait tests
Steve Myers [Mon, 26 Oct 2020 19:41:22 +0000 (12:41 -0700)]
[descriptor] Comment out incomplete ExtractPolicy trait tests

5 years ago[descriptor] Fix compile errors after rebase
Steve Myers [Mon, 19 Oct 2020 23:58:55 +0000 (16:58 -0700)]
[descriptor] Fix compile errors after rebase

5 years ago[descriptor] Add descriptor macro tests
Steve Myers [Mon, 12 Oct 2020 16:09:25 +0000 (09:09 -0700)]
[descriptor] Add descriptor macro tests

5 years ago[descriptor] Add get_checksum tests, cleanup tests
Steve Myers [Sat, 3 Oct 2020 21:48:13 +0000 (14:48 -0700)]
[descriptor] Add get_checksum tests, cleanup tests

5 years ago[descriptor] Add ExtractPolicy trait tests
Steve Myers [Thu, 1 Oct 2020 22:54:59 +0000 (15:54 -0700)]
[descriptor] Add ExtractPolicy trait tests

5 years agoRename must_use_utxos to required_utxos
Murch [Mon, 26 Oct 2020 18:08:57 +0000 (14:08 -0400)]
Rename must_use_utxos to required_utxos

5 years agoRename DumbCS to LargestFirstCoinSelection
Murch [Mon, 26 Oct 2020 18:16:25 +0000 (14:16 -0400)]
Rename DumbCS to LargestFirstCoinSelection

5 years agoIncorporate RBF rules into utxo selection function
LLFourn [Fri, 23 Oct 2020 01:13:05 +0000 (12:13 +1100)]
Incorporate RBF rules into utxo selection function

5 years ago[wallet] Stop implicitly enforcing manaul selection by .add_utxo
LLFourn [Thu, 22 Oct 2020 01:07:51 +0000 (12:07 +1100)]
[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`.

5 years ago[wallet] Make 'unspendable' into a HashSet
LLFourn [Wed, 21 Oct 2020 04:53:55 +0000 (15:53 +1100)]
[wallet] Make 'unspendable' into a HashSet

to avoid awkwardly later on.

5 years ago[wallet] Replace ChangeSpendPolicy::filter_utxos with a predicate
LLFourn [Wed, 21 Oct 2020 04:53:00 +0000 (15:53 +1100)]
[wallet] Replace ChangeSpendPolicy::filter_utxos with a predicate

To make composing it with other filtering conditions easier.

5 years agoMerging two match expressions for fee calculation
Richard Ulrich [Thu, 22 Oct 2020 11:41:26 +0000 (13:41 +0200)]
Merging two match expressions for fee calculation

5 years agoImplementing review suggestions from afilini
Richard Ulrich [Thu, 22 Oct 2020 07:11:58 +0000 (09:11 +0200)]
Implementing review suggestions from afilini

5 years agocomplying with clippy from the github CI
Richard Ulrich [Tue, 20 Oct 2020 16:22:37 +0000 (18:22 +0200)]
complying with clippy from the github CI

5 years agoallow to definie static fees for transactions Fixes #137
Richard Ulrich [Tue, 20 Oct 2020 16:10:59 +0000 (18:10 +0200)]
allow to definie static fees for transactions Fixes #137

5 years ago[wallet] Default to SIGHASH_ALL if not specified
Alekos Filini [Fri, 16 Oct 2020 13:40:30 +0000 (15:40 +0200)]
[wallet] Default to SIGHASH_ALL if not specified

Closes #133

5 years ago[wallet] Refactor `Wallet::bump_fee()`
Alekos Filini [Fri, 16 Oct 2020 12:27:50 +0000 (14:27 +0200)]
[wallet] Refactor `Wallet::bump_fee()`

5 years ago[wallet] Improve `CoinSelectionAlgorithm`
Alekos Filini [Wed, 14 Oct 2020 13:21:22 +0000 (15:21 +0200)]
[wallet] Improve `CoinSelectionAlgorithm`

Implement the improvements described in issue #121.

Closes #121, closes #131.