]>
Untitled Git - bdk/log
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
Alekos Filini [Tue, 27 Oct 2020 10:04:00 +0000 (11:04 +0100)]
Merge commit 'refs/pull/115/head' of github.com:bitcoindevkit/bdk
Steve Myers [Mon, 26 Oct 2020 19:41:22 +0000 (12:41 -0700)]
[descriptor] Comment out incomplete ExtractPolicy trait tests
Steve Myers [Mon, 19 Oct 2020 23:58:55 +0000 (16:58 -0700)]
[descriptor] Fix compile errors after rebase
Steve Myers [Mon, 12 Oct 2020 16:09:25 +0000 (09:09 -0700)]
[descriptor] Add descriptor macro tests
Steve Myers [Sat, 3 Oct 2020 21:48:13 +0000 (14:48 -0700)]
[descriptor] Add get_checksum tests, cleanup tests
Steve Myers [Thu, 1 Oct 2020 22:54:59 +0000 (15:54 -0700)]
[descriptor] Add ExtractPolicy trait tests
Murch [Mon, 26 Oct 2020 18:16:25 +0000 (14:16 -0400)]
Rename DumbCS to LargestFirstCoinSelection
LLFourn [Fri, 23 Oct 2020 01:13:05 +0000 (12:13 +1100)]
Incorporate RBF rules into utxo selection function
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`.
LLFourn [Wed, 21 Oct 2020 04:53:55 +0000 (15:53 +1100)]
[wallet] Make 'unspendable' into a HashSet
to avoid awkwardly later on.
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.
Richard Ulrich [Thu, 22 Oct 2020 11:41:26 +0000 (13:41 +0200)]
Merging two match expressions for fee calculation
Richard Ulrich [Thu, 22 Oct 2020 07:11:58 +0000 (09:11 +0200)]
Implementing review suggestions from afilini
Richard Ulrich [Tue, 20 Oct 2020 16:22:37 +0000 (18:22 +0200)]
complying with clippy from the github CI
Richard Ulrich [Tue, 20 Oct 2020 16:10:59 +0000 (18:10 +0200)]
allow to definie static fees for transactions Fixes #137
Alekos Filini [Fri, 16 Oct 2020 13:40:30 +0000 (15:40 +0200)]
[wallet] Default to SIGHASH_ALL if not specified
Closes #133
Alekos Filini [Fri, 16 Oct 2020 12:27:50 +0000 (14:27 +0200)]
[wallet] Refactor `Wallet::bump_fee()`
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.
LLFourn [Wed, 14 Oct 2020 03:03:12 +0000 (14:03 +1100)]
[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
LLFourn [Wed, 14 Oct 2020 02:55:33 +0000 (13:55 +1100)]
Use collect to avoid iter unwrapping Options
Alekos Filini [Tue, 13 Oct 2020 09:56:59 +0000 (11:56 +0200)]
[blockchain] Fix receiving a coinbase using Electrum/Esplora
Closes #107
Alekos Filini [Tue, 13 Oct 2020 08:57:40 +0000 (10:57 +0200)]
[keys]: Re-export tiny-bip39
Closes #104
Alekos Filini [Fri, 9 Oct 2020 10:03:47 +0000 (12:03 +0200)]
Bump rust-bitcoin to 0.25, fix Cargo dependencies
Closes #112, closes #113, closes #124
Steve Myers [Mon, 12 Oct 2020 16:30:20 +0000 (09:30 -0700)]
[ci] Remove travis.yml
Steve Myers [Thu, 8 Oct 2020 23:55:49 +0000 (16:55 -0700)]
[ci] Fix clippy warnings for 1.47.0
Steve Myers [Thu, 8 Oct 2020 23:35:00 +0000 (16:35 -0700)]
[ci] Use bitcoindevkit/electrs base image for electrum tests
Steve Myers [Wed, 7 Oct 2020 21:18:50 +0000 (14:18 -0700)]
[ci] Fix clippy warnings, enable clippy checks
Steve Myers [Wed, 7 Oct 2020 05:38:26 +0000 (22:38 -0700)]
[ci] Consolidate build, test, clippy jobs
Alekos Filini [Wed, 7 Oct 2020 08:00:06 +0000 (10:00 +0200)]
Add a Discord badge to the README
Steve Myers [Sun, 4 Oct 2020 17:30:13 +0000 (10:30 -0700)]
[ci] add CI github actions
Alekos Filini [Tue, 29 Sep 2020 16:18:50 +0000 (18:18 +0200)]
Fix the recovery of a descriptor given a PSBT
This commit upgrades `rust-miniscript` with a fix to only return the prefix that
matches a `hd_keypath` instead of the full derivation path, and then adapts the
signer code accordingly.
This commit closes #108 and #109.
LLFourn [Tue, 29 Sep 2020 22:17:49 +0000 (08:17 +1000)]
[keys] Less convoluted entropy generation
Since const generics aren't in rust yet you have to find some awkward
workarounds. This improves the workaround for specifying entropy length.
Steve Myers [Sat, 26 Sep 2020 05:21:11 +0000 (22:21 -0700)]
[descriptor] add ToWalletDescriptor trait tests
Alekos Filini [Thu, 24 Sep 2020 13:59:46 +0000 (15:59 +0200)]
[keys] Fix entropy generation
Alekos Filini [Thu, 24 Sep 2020 07:52:59 +0000 (09:52 +0200)]
[keys] Add a trait for keys that can be generated
Alekos Filini [Tue, 22 Sep 2020 14:12:09 +0000 (16:12 +0200)]
[descriptor] Add descriptor templates, add `DerivableKey`
Alekos Filini [Mon, 21 Sep 2020 13:44:07 +0000 (15:44 +0200)]
[keys] Add a way to restrict the networks in which keys are valid
Thanks to the `ToWalletDescriptor` trait we can also very easily validate the checksum
for descriptors that are loaded from strings, if they contain one. Fixes #20.
Alekos Filini [Sat, 19 Sep 2020 10:08:30 +0000 (12:08 +0200)]
[keys] Take `ScriptContext` into account when converting keys
Alekos Filini [Fri, 18 Sep 2020 15:26:58 +0000 (17:26 +0200)]
[keys] Add BIP39 support
Alekos Filini [Fri, 18 Sep 2020 14:31:03 +0000 (16:31 +0200)]
[descriptor] Improve the descriptor macro, add traits for key and descriptor types
Alekos Filini [Wed, 16 Sep 2020 12:32:55 +0000 (14:32 +0200)]
[descriptor] Add a macro to write descriptors from code
willcl-ark [Wed, 23 Sep 2020 08:25:02 +0000 (09:25 +0100)]
Add CONTRIBUTING.md
Add a CONTRIBUTING.md file based on a template taken from the
rust-lightning project.
willcl-ark [Mon, 21 Sep 2020 14:32:38 +0000 (15:32 +0100)]
Prettify README examples on github
Alekos Filini [Wed, 16 Sep 2020 15:31:43 +0000 (17:31 +0200)]
[signer] Fix signing for `ShWpkh` inputs
Alekos Filini [Wed, 16 Sep 2020 15:30:11 +0000 (17:30 +0200)]
[cargo] Add the required `rand` features for `wasm32`
Alekos Filini [Tue, 15 Sep 2020 09:25:59 +0000 (11:25 +0200)]
[database] Add `AnyDatabase` and `ConfigurableDatabase`
This is related to #43
Alekos Filini [Tue, 15 Sep 2020 13:19:57 +0000 (15:19 +0200)]
[blockchain] Document `AnyBlockchain` and `ConfigurableBlockchain`
Alekos Filini [Thu, 10 Sep 2020 16:11:24 +0000 (18:11 +0200)]
[blockchain] Add an `AnyBlockchain` enum to allow switching at runtime
This is related to #43
Alekos Filini [Thu, 10 Sep 2020 16:08:37 +0000 (18:08 +0200)]
[blockchain] Add a trait to create `Blockchain`s from a configuration
This is the first set of changes for #42
Alekos Filini [Mon, 14 Sep 2020 12:30:00 +0000 (14:30 +0200)]
Update the README
Alekos Filini [Mon, 14 Sep 2020 12:26:19 +0000 (14:26 +0200)]
[cargo] Remove the `magic` alias for `repl`
Alekos Filini [Mon, 14 Sep 2020 12:25:38 +0000 (14:25 +0200)]
Rename the library to `bdk`
Alekos Filini [Wed, 9 Sep 2020 16:17:49 +0000 (18:17 +0200)]
[blockchain] Simplify the architecture of blockchain traits
Instead of having two traits, `Blockchain` and `OnlineBlockchain` that need
to be implemented by the user, only the relevant one (`OnlineBlockchain`, here
renamed to `Blockchain`) will need to be implemented, since we provide a
blanket implementation for the "marker" trait (previously `Blockchain`, here
renamed to `BlockchainMarker`).
Users of the library will probably never need to implement `BlockchainMarker`
by itself, since we expose the `OfflineBlockchain` type that already does
that and should be good for any "offline" wallet. Still, it's exposed since
they might need to import it to define types with generics.
Alekos Filini [Wed, 9 Sep 2020 15:04:40 +0000 (17:04 +0200)]
[repl] Revert back the repl example to use Electrum
Alekos Filini [Mon, 7 Sep 2020 15:13:54 +0000 (17:13 +0200)]
Bump version to 0.1.0-beta.1
Alekos Filini [Tue, 8 Sep 2020 13:24:44 +0000 (15:24 +0200)]
Change docs link while we can't publish the crate
Alekos Filini [Mon, 7 Sep 2020 09:16:41 +0000 (11:16 +0200)]
Improve the README, add examples
LLFourn [Sat, 5 Sep 2020 04:00:50 +0000 (14:00 +1000)]
Remove assumed "/api" prefix from esplora
It is not necessary that esplora is hosted with a /api prefix
Alekos Filini [Fri, 4 Sep 2020 19:28:35 +0000 (21:28 +0200)]
Fix the `last_derivation_index` calculation
It should be set to `0` if not transactions are found during sync.
Closes #44
Alekos Filini [Fri, 4 Sep 2020 15:01:33 +0000 (17:01 +0200)]
Rename the crate to just "magical"
Alekos Filini [Fri, 4 Sep 2020 14:29:25 +0000 (16:29 +0200)]
Add docs for `Wallet`
Alekos Filini [Fri, 4 Sep 2020 13:45:11 +0000 (15:45 +0200)]
Write more docs, make `TxBuilder::with_recipients` take Scripts
Alekos Filini [Fri, 4 Sep 2020 09:44:49 +0000 (11:44 +0200)]
Write more docs
Alekos Filini [Thu, 3 Sep 2020 09:36:07 +0000 (11:36 +0200)]
Write the docs for `blockchain::*`
Alekos Filini [Mon, 31 Aug 2020 08:49:44 +0000 (10:49 +0200)]
General cleanup for the docs
Alekos Filini [Mon, 31 Aug 2020 09:26:36 +0000 (11:26 +0200)]
Add the license to every file
Alekos Filini [Sun, 30 Aug 2020 18:34:51 +0000 (20:34 +0200)]
[wallet] Add tests for `Wallet::sign()`
Alekos Filini [Mon, 17 Aug 2020 21:50:50 +0000 (23:50 +0200)]
[wallet] Support signing the whole tx instead of individual inputs
Alekos Filini [Mon, 17 Aug 2020 10:10:51 +0000 (12:10 +0200)]
[wallet] Add explicit ordering for the signers
Alekos Filini [Mon, 17 Aug 2020 08:58:45 +0000 (10:58 +0200)]
[error] implement std::error::Error
Alekos Filini [Mon, 17 Aug 2020 08:53:38 +0000 (10:53 +0200)]
[blockchain] impl OnlineBlockchain for types wrapped in Arc
Alekos Filini [Sat, 15 Aug 2020 21:21:13 +0000 (23:21 +0200)]
[wallet] Add AddressValidators
Alekos Filini [Sat, 15 Aug 2020 19:24:13 +0000 (21:24 +0200)]
[descriptor] Tests for `DescriptorMeta::derive_from_psbt_input()`
Alekos Filini [Sat, 15 Aug 2020 18:16:34 +0000 (20:16 +0200)]
[cli] Make the REPL return JSON
Alekos Filini [Wed, 12 Aug 2020 10:51:50 +0000 (12:51 +0200)]
Use `miniscript::DescriptorPublicKey`
This allows us to remove all our custom "ExtendedDescriptor" implementation since that is
now built directly in miniscript.
Alekos Filini [Sat, 29 Aug 2020 17:40:45 +0000 (19:40 +0200)]
[compact_filters] Add support for Tor
Alekos Filini [Tue, 25 Aug 2020 14:07:26 +0000 (16:07 +0200)]
Compact Filters blockchain implementation
Alekos Filini [Thu, 13 Aug 2020 14:51:27 +0000 (16:51 +0200)]
Implement RBF and add a few tests
Alekos Filini [Mon, 10 Aug 2020 21:00:32 +0000 (23:00 +0200)]
[tests] Run Bitcoin Core and Electrs on Travis
Alekos Filini [Mon, 10 Aug 2020 15:16:47 +0000 (17:16 +0200)]
[tests] Add tests for `Wallet::create_tx()`
Alekos Filini [Mon, 10 Aug 2020 08:49:34 +0000 (10:49 +0200)]
[tests] Add a proc macro to generate tests for `OnlineBlockchain` types
Alekos Filini [Sat, 8 Aug 2020 10:06:40 +0000 (12:06 +0200)]
[wallet] Add `force_non_witness_utxo()` to TxBuilder
Alekos Filini [Fri, 7 Aug 2020 17:40:13 +0000 (19:40 +0200)]
[wallet] Allow limiting the use of internal utxos in TxBuilder
Alekos Filini [Fri, 7 Aug 2020 14:30:19 +0000 (16:30 +0200)]
[wallet] Add RBF and custom versions in TxBuilder
Alekos Filini [Fri, 7 Aug 2020 13:35:14 +0000 (15:35 +0200)]
[wallet] TxOrdering, shuffle/bip69 support
Alekos Filini [Mon, 10 Aug 2020 11:20:48 +0000 (13:20 +0200)]
[wallet] Nicer interface for WalletExport
Alekos Filini [Mon, 10 Aug 2020 09:41:19 +0000 (11:41 +0200)]
Add a feature to enable the async interface on non-wasm32 platforms
Follow-up to: #28
Alekos Filini [Sat, 8 Aug 2020 07:37:25 +0000 (09:37 +0200)]
[examples] Use `MemoryDatabase` in the compiler example
Alekos Filini [Sat, 8 Aug 2020 07:25:35 +0000 (09:25 +0200)]
Update .travis.ci to test the `miniscriptc` example
Dominik Spicher [Fri, 7 Aug 2020 14:08:23 +0000 (16:08 +0200)]
[examples] Fix Miniscript variants issue in compiler example
miniscript has extended the `Miniscript` struct to be generic
over a `ScriptContext`. This context is different for the `Sh`
variant (`Legacy`) than for the `Wsh` and `ShWsh` variants
(`Segwitv0`). Therefore, Rust is not happy with the single
`compiled` variable if it is used as an argument for all three
variants.
Dominik Spicher [Fri, 7 Aug 2020 14:02:32 +0000 (16:02 +0200)]
[examples] Add missing dependency for compiler example
Dominik Spicher [Fri, 7 Aug 2020 13:17:59 +0000 (15:17 +0200)]
[examples] Fix renamed thresh_m descriptor
In miniscript 1.0, `thresh_m` has been renamed to `multi`
Alekos Filini [Fri, 7 Aug 2020 09:23:01 +0000 (11:23 +0200)]
[wallet] Add a type convert fee units, add `Wallet::estimate_fee()`
Alekos Filini [Fri, 7 Aug 2020 08:19:06 +0000 (10:19 +0200)]
[export] Implement the wallet import/export format from FullyNoded
This commit closes #31
Alekos Filini [Thu, 6 Aug 2020 16:46:20 +0000 (18:46 +0200)]
Improve .travis.ci
Alekos Filini [Thu, 6 Aug 2020 16:11:07 +0000 (18:11 +0200)]
[wallet] Refill the address pool whenever necessary
Alekos Filini [Thu, 6 Aug 2020 14:56:41 +0000 (16:56 +0200)]
[wallet] Abstract coin selection in a separate trait
Alekos Filini [Thu, 6 Aug 2020 11:09:39 +0000 (13:09 +0200)]
[wallet] Add a `TxBuilder` struct to simplify `create_tx()`'s interface
Alekos Filini [Thu, 6 Aug 2020 09:12:15 +0000 (11:12 +0200)]
[wallet] Abstract, multi-platform datetime utils