LLFourn
465ef6e674
Roll blockchain tests proc macro into normal macro
...
This means one less crate in the repo. Had to do a Default on TestClient
to satisfy clippy.
2021-05-18 20:02:33 +10:00
Alekos Filini
d0733e9496
Bump version in src/lib.rs
2021-05-12 14:19:58 +02:00
Tobin Harding
fad0fe9f30
Update create transaction example code
...
The transaction builder changed a while ago, looks like some of the
example code did not get updated.
Update the transaction creation code to use a mutable builder.
2021-05-12 14:13:23 +02:00
Alekos Filini
b5e9589803
[signer] Adjust signing behavior with SignOptions
2021-05-06 08:58:38 +02:00
LLFourn
5a0c150ff9
Make wallet methods take &mut psbt
...
Rather than consuming it because that is unergonomic.
2021-04-28 15:34:25 +10:00
Alekos Filini
549cd24812
Bump version to 0.6.0
2021-04-14 17:27:28 +02:00
Riccardo Casatta
192965413c
Convert upper-case acronyms as suggested by CamelCase convention
...
see https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms
2021-04-07 22:14:54 +02:00
Alekos Filini
f786f0e624
Merge branch 'release/0.5.0' of github.com:bitcoindevkit/bdk
2021-03-17 22:27:44 +01:00
Alekos Filini
fa27ae210f
Update version in lib.rs
2021-03-17 15:14:35 +01:00
Steve Myers
f3b475ff0e
[wallet] Refactor get_*_address() into get_address(AddressIndex), update CHANGELOG
2021-03-15 08:58:11 -07:00
Steve Myers
12ae1c3479
Update license to Apache 2.0 or MIT, copyright to Bitcoin Dev Kit Developers
2021-03-03 13:23:25 -08:00
Tobin Harding
97ad0f1b4f
Remove unused macro_use
...
Found by Clippy, we don't need this `macro_use` statement.
2021-02-24 13:30:48 +11:00
Alekos Filini
dccf09861c
Update version in the examples
2021-02-11 09:29:44 -05:00
Lucas Soriano del Pino
693fb24e02
Emit specific compile error if incompatible features are enabled
...
This is motivated by the feature `electrum` being part of the
`default` features of this crate. It is easy to naively enable
`esplora` and `async-interface` and forget that `electrum` is enabled
by default, running into not so obvious compile errors.
2021-02-03 18:16:13 +11:00
LLFourn
6689384c8a
Merge branch 'master' into make_txbuilder_take_ref_to_wallet
2021-01-30 13:12:13 +11:00
Alekos Filini
2e0ca4fe05
Fix the crate version in src/lib.rs
2021-01-26 09:34:14 -05:00
Alekos Filini
df32c849bb
Add a function to return the version of BDK at runtime
2021-01-25 15:14:54 -05:00
LLFourn
7553b905c4
[wallet] Overhaul TxBuilder internals and externals
...
Fixes #251
TxBuilders are now not created directly but are created through the
wallet with `build_tx` and `build_fee_bump`.
The advantages of this realised in this commit are:
1. Normal tx creation and fee bumping use the code internally. The only
difference between normal tx and fee bump is how the builder is created.
2. The TxBuilder now has a refernce to the wallet and can therefore
lookup things as methods are called on it. `add_utxo` now uses this to
look up UTXO deta when it is called (rather than having to do it and
possibly error later on).
To support these changes `get_utxo` and `get_descriptor_for_keychain`
public methods have been added to Wallet. I could have kept them
pub(crate) but they seem like fine APIs to have publicly.
2021-01-22 14:33:37 +11:00
Steve Myers
f74bfdd493
Remove 'cli.rs' module, 'cli-utils' feature and 'repl.rs' example
2020-12-31 09:44:30 -08:00
LLFourn
656c9c9da8
Use () to indicate a missing blockchain
...
So that:
1. There are no runtime errors
2. There less type annotations needed
3. Less traits and stuff to document
2020-12-23 14:52:29 +11:00
Steve Myers
8cfbf1f0a2
[docs] Add more docs to 'types.rs'
2020-12-16 15:12:47 -08:00
Riccardo Casatta
635d98c069
[docs] use only sled instead of crate::sled
2020-12-16 12:11:49 +01:00
Alekos Filini
1a90832f3a
[docs] Add the docs to the keys
module
2020-12-11 11:16:39 +01:00
Steve Myers
8d6f67c764
Add warn and TODOs for missing_docs and add lib.rs docs
2020-12-08 15:57:31 -08: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
Alekos Filini
848b52c50e
[keys]: Re-export tiny-bip39
...
Closes #104
2020-10-13 10:57:40 +02:00
Steve Myers
aea9abff8a
[ci] Fix clippy warnings, enable clippy checks
2020-10-10 10:31:07 -07:00
Alekos Filini
c93cd1414a
[descriptor] Add descriptor templates, add DerivableKey
2020-09-24 09:53:54 +02:00
Alekos Filini
751a553925
[descriptor] Improve the descriptor macro, add traits for key and descriptor types
2020-09-24 09:53:42 +02:00
Alekos Filini
d7ee38cc52
Rename the library to bdk
2020-09-14 15:13:43 -07:00
Alekos Filini
c4f4f20d8b
Improve the README, add examples
2020-09-07 16:33:08 +02:00
Alekos Filini
7065c1fed6
Write more docs
2020-09-04 11:44:49 +02:00
Alekos Filini
6b9c363937
Write the docs for blockchain::*
2020-09-03 11:36:07 +02:00
Alekos Filini
c0867a6adc
General cleanup for the docs
2020-08-31 15:04:27 +02:00
Alekos Filini
d61e974dbe
Add the license to every file
2020-08-31 11:48:25 +02:00
Alekos Filini
5777431135
Use miniscript::DescriptorPublicKey
...
This allows us to remove all our custom "ExtendedDescriptor" implementation since that is
now built directly in miniscript.
2020-08-30 20:36:19 +02:00
Alekos Filini
77c95b93ac
Compact Filters blockchain implementation
2020-08-30 17:23:33 +02:00
Alekos Filini
9e5023670e
[tests] Add a proc macro to generate tests for OnlineBlockchain
types
2020-08-10 17:18:17 +02:00
Alekos Filini
f7f99172fe
Add a feature to enable the async interface on non-wasm32 platforms
...
Follow-up to: #28
2020-08-10 11:41:19 +02:00
Alekos Filini
08792b2fcd
[wallet] Add a type convert fee units, add Wallet::estimate_fee()
2020-08-07 11:23:46 +02:00
Alekos Filini
499e579824
[wallet] Add a TxBuilder
struct to simplify create_tx()
's interface
2020-08-06 14:28:22 +02:00
Alekos Filini
4fcf7ac89e
Make the blockchain interface async again on wasm32-unknown-unknown
...
The procedural macro `#[maybe_async]` makes a method or every method of a trait
"async" whenever the target_arch is `wasm32`, and leaves them untouched on
every other platform.
The macro `maybe_await!($e:expr)` can be used to call `maybe_async` methods on
multi-platform code: it expands to `$e` on non-wasm32 platforms and to
`$e.await` on wasm32.
The macro `await_or_block!($e:expr)` can be used to contain async code as much
as possible: it expands to `tokio::runtime::Runtime::new().unwrap().block_on($e)`
on non-wasm32 platforms, and to `$e.await` on wasm32.
2020-07-20 20:02:24 +02:00
Alekos Filini
123984e99d
Remove async, upgrade electrum-client
2020-07-17 09:44:01 +02:00
Alekos Filini
1ff9852cff
[wasm] Fix SystemTime for wasm and refactor the cli part
2020-05-08 23:30:45 +02:00
Alekos Filini
0cc9e1cdea
[blockchain] Use async I/O in the various blockchain impls
2020-05-07 17:36:45 +02:00
Alekos Filini
95b2cd4c32
[blockchain] add the Esplora backend
2020-05-07 15:21:54 +02:00
Alekos Filini
75a9c30c9a
Add a generalized "Blockchain" interface
2020-05-03 18:16:11 +02:00
Alekos Filini
aa93a82904
Add a miniscript compiler CLI
2020-04-29 12:16:58 +02:00
Alekos Filini
1a4e1bd96c
Wallet logic
2020-04-07 11:16:53 +02:00
Alekos Filini
4919ff148b
Move everything in the root
2020-02-07 12:27:10 +01:00