]> Untitled Git - bdk/log
bdk
2 years ago[bdk_chain_redesign] Added methods to `LocalChain`
志宇 [Fri, 31 Mar 2023 14:42:47 +0000 (22:42 +0800)]
[bdk_chain_redesign] Added methods to `LocalChain`

Also made the `IndexedTxGraph::index` field public (`index()` and
`index_mut()` methods are no longer needed).

2 years ago[bdk_chain_redesign] `TxGraph` tweaks
志宇 [Fri, 31 Mar 2023 06:15:34 +0000 (14:15 +0800)]
[bdk_chain_redesign] `TxGraph` tweaks

* Rename `TxNode::last_seen` to `last_seen_unconfirmed` and improve docs
* Improve `try_get_chain_position` logic and tweak comments

2 years ago[bdk_chain_redesign] Simplify `TxIndex`
志宇 [Fri, 31 Mar 2023 04:39:00 +0000 (12:39 +0800)]
[bdk_chain_redesign] Simplify `TxIndex`

2 years ago[bdk_chain_redesign] Revert some API changes
志宇 [Thu, 30 Mar 2023 10:33:53 +0000 (18:33 +0800)]
[bdk_chain_redesign] Revert some API changes

Methods of old structures that return transaction(s) no longer return
`TxNode`, but `Transaction` as done previously.

`TxInGraph` is renamed to `TxNode`, while the internal `TxNode` is
renamed to `TxNodeInternal`.

2 years ago[bdk_chain_redesign] Make default anchor for `TxGraph` as `()`
志宇 [Thu, 30 Mar 2023 10:14:44 +0000 (18:14 +0800)]
[bdk_chain_redesign] Make default anchor for `TxGraph` as `()`

This allows us to use the old API with minimal changes. `TxGraph`
methods have also been rearranged to allow for it.

2 years ago[bdk_chain_redesign] Initial work on `LocalChain`.
志宇 [Wed, 29 Mar 2023 14:45:01 +0000 (22:45 +0800)]
[bdk_chain_redesign] Initial work on `LocalChain`.

2 years ago[bdk_chain_redesign] Rm anchor type param for structs that don't use it
志宇 [Tue, 28 Mar 2023 06:58:59 +0000 (14:58 +0800)]
[bdk_chain_redesign] Rm anchor type param for structs that don't use it

2 years ago[bdk_chain_redesign] Add docs
志宇 [Tue, 28 Mar 2023 02:58:23 +0000 (10:58 +0800)]
[bdk_chain_redesign] Add docs

2 years ago[bdk_chain_redesign] `IndexedTxGraph` keeps track of the last synced height
志宇 [Mon, 27 Mar 2023 14:42:39 +0000 (22:42 +0800)]
[bdk_chain_redesign] `IndexedTxGraph` keeps track of the last synced height

This is important as a `ChainOracle` implementation is updated
separately to an `IndexedTxGraph`.

2 years ago[bdk_chain_redesign] Fix `apply_additions` logic for `IndexedTxGraph`.
志宇 [Mon, 27 Mar 2023 13:51:11 +0000 (21:51 +0800)]
[bdk_chain_redesign] Fix `apply_additions` logic for `IndexedTxGraph`.

2 years ago[bdk_chain_redesign] `mut_index` should be `index_mut`
志宇 [Mon, 27 Mar 2023 12:56:42 +0000 (20:56 +0800)]
[bdk_chain_redesign] `mut_index` should be `index_mut`

2 years ago[bdk_chain_redesign] Add balance methods to `IndexedTxGraph`
志宇 [Mon, 27 Mar 2023 11:55:57 +0000 (19:55 +0800)]
[bdk_chain_redesign] Add balance methods to `IndexedTxGraph`

2 years ago[bdk_chain_redesign] Add `apply_additions` to `IndexedTxGraph`
志宇 [Mon, 27 Mar 2023 07:36:37 +0000 (15:36 +0800)]
[bdk_chain_redesign] Add `apply_additions` to `IndexedTxGraph`

* Get mutable index from `IndexedChainGraph`.
* Also add `apply_additions` method to `TxIndex` trait.

2 years ago[bdk_chain_redesign] MOVE: `IndexedTxGraph` into submodule
志宇 [Mon, 27 Mar 2023 06:21:10 +0000 (14:21 +0800)]
[bdk_chain_redesign] MOVE: `IndexedTxGraph` into submodule

2 years ago[bdk_chain_redesign] List chain data methods can be try/non-try
志宇 [Mon, 27 Mar 2023 05:59:51 +0000 (13:59 +0800)]
[bdk_chain_redesign] List chain data methods can be try/non-try

Methods that list chain data have try and non-try versions. Both of
these versions now return an `Iterator`.

* Try versions return `Iterator<Item = Result>`.
* Non-try versions require the `ChainOracle` implementation to be
  `ChainOracle<Error = Infallible>`.

2 years ago[bdk_chain_redesign] Add `..in_chain` methods
志宇 [Sun, 26 Mar 2023 03:24:30 +0000 (11:24 +0800)]
[bdk_chain_redesign] Add `..in_chain` methods

Add methods to `TxGraph` and `IndexedTxGraph` that gets in-best-chain
data (such as transactions, txouts, unspent txouts).

2 years ago[bdk_chain_redesign] Introduce `ChainOracle` and `TxIndex` traits
志宇 [Fri, 24 Mar 2023 07:47:39 +0000 (15:47 +0800)]
[bdk_chain_redesign] Introduce `ChainOracle` and `TxIndex` traits

The chain oracle keeps track of the best chain, while the transaction
index indexes transaction data in relation to script pubkeys.

This commit also includes initial work on `IndexedTxGraph`.

2 years ago[bdk_chain_redesign] Introduce `BlockAnchor` trait
志宇 [Fri, 24 Mar 2023 01:23:36 +0000 (09:23 +0800)]
[bdk_chain_redesign] Introduce `BlockAnchor` trait

* Introduce `GraphedTx` struct to access transaction data of graphed
  transactions.
* Ability to insert/access anchors and "seen at" values for graphed
  transactions.
* `Additions` now records changes to anchors and last_seen_at.

2 years agoBump bdk version to 1.0.0-alpha.0
Steve Myers [Mon, 20 Mar 2023 04:00:37 +0000 (23:00 -0500)]
Bump bdk version to 1.0.0-alpha.0

chain to 0.4.0
electrum to 0.2.0
esplora to 0.2.0
file_store to 0.1.0

2 years agoFor examples and nursery remove workspace dependency versions
Steve Myers [Mon, 20 Mar 2023 04:03:09 +0000 (23:03 -0500)]
For examples and nursery remove workspace dependency versions

2 years agoMerge pull request #890 from evanlinjin/simplify-reveal-to-target-logic
志宇 [Sat, 18 Mar 2023 02:28:57 +0000 (10:28 +0800)]
Merge pull request #890 from evanlinjin/simplify-reveal-to-target-logic

Simplify `reveal_to_target` logic

2 years agoSimplify `reveal_to_target` logic
志宇 [Wed, 15 Mar 2023 07:38:25 +0000 (15:38 +0800)]
Simplify `reveal_to_target` logic

- Remove unnecessary check
- Better comments
- Better variable names
- Add test for scanning txouts with lookahead

2 years agoMerge pull request #889 from evanlinjin/add-async-syncing-esplora
志宇 [Fri, 17 Mar 2023 09:20:08 +0000 (17:20 +0800)]
Merge pull request #889 from evanlinjin/add-async-syncing-esplora

Add docs for `EsploraAsyncExt` and make doctests runnable

2 years agoAdd docs for `EsploraAsyncExt` and make doctests runnable
志宇 [Fri, 10 Mar 2023 00:40:27 +0000 (13:40 +1300)]
Add docs for `EsploraAsyncExt` and make doctests runnable

2 years agoMerge pull request #888 from rajarshimaitra/greamarly-fixes
志宇 [Wed, 15 Mar 2023 05:07:05 +0000 (16:07 +1100)]
Merge pull request #888 from rajarshimaitra/greamarly-fixes

Nit fixes on documentation

2 years agoAdd documentation fixes
rajarshimaitra [Fri, 10 Mar 2023 17:53:29 +0000 (23:23 +0530)]
Add documentation fixes

2 years agoMerge bitcoindevkit/bdk#793: bdk v1.0.0-alpha.0
Steve Myers [Tue, 14 Mar 2023 17:42:04 +0000 (12:42 -0500)]
Merge bitcoindevkit/bdk#793: bdk v1.0.0-alpha.0

bc3e05c6c671e927d0f954dac602f89a452b3d86 Doc fixes (Daniela Brozzoni)
352f95f55830b0bd1455966a932abc60607d5745 [ci] misc fixes (Daniela Brozzoni)
2fcf9c4adb0d188dd93d5efbc79171197460f43c Make async esplora futures Send (LLFourn)
5dd4ce74cf762184c318e17d5c1d094e47179d69 More documentation improvements (志宇)
ae9b19d84c779ed23506f11352bf0d8c7b1f00b1 `bdk` README improvements (志宇)
def0c9ed397d1e0b94581fafae281f27c31f16ab Add `wallet_esplora_async` example and various fixes (志宇)
26ab2e2d6c1cd90ab1042c3f415ca26464a4c557 Implement EsploraExt for Async client (Vladimir Fomene)
ab9242d10ddaaafae3f6433966658af882d1f735 Replace current caching solution with Rust Cache (Vladimir Fomene)
0aaf420f6d4de3010d3c193d63a904c76c8391a5 examples: exit if balance < SEND_AMOUNT (Daniela Brozzoni)
47faa881fb5669702999d38300fed2e03c0021b1 Fix cargo clippy (Daniela Brozzoni)
9d26121dbc6e0209f4154594c9884600f1298cf3 Improve stdout output for wallet esplora/electrum examples (志宇)
eddd74887017b1aa2d08e079ad3669b455a5d40a Add `wallet_electrum` example (志宇)
0505cd72424a621825f8312af2e342b13a1fc65d Remove transaction-based type parameters and traits (志宇)
de9457fce67f5bdc7a128f68d2e14ec4d4f8947b Changed `inflate_update` logic to not depend on `Cow` (志宇)
69cf6d7924c4599e6a4fd4cd52c291e640324a8f Use os-specific temp dir for `wallet_esplora` example (志宇)
b3836cb30839e1f0b41cb595b4a33b2f47ce04ce Use hardcoded send amount for `wallet_esplora` example (志宇)
b0829322688229120044940160b505f434d7617f Add the wallet_esplora example (Daniela Brozzoni)
d267517dbd24b501415a8dcbb0f937504b093515 NewError implements StdError (fix typo) (Daniela Brozzoni)
0c7a0abb1941f7f03f28fd0ddfe18609d1316fb2 Disable code coverage (Daniela Brozzoni)
dfcbafd6b10746a967c63e7a835ba07ac990e828 Use action-rs/toolchain in CI (Daniela Brozzoni)
0ba41c57515566e3eae15d52fba1ff9422ec5fe8 Make bdk_esplora wasm compatible again (Daniela Brozzoni)
a38f63359d02f508dc987c8a985d34e393d831a8 Make bdk_file_store use bincode v1 (LLFourn)
38ef170ed1be43c60dd34aebd14997ab0082a3ca Make bdk and bdk_chain work under 1.57.0 (Steve Myers)
3a5d7278999d1be9a9edb5d161dfaeed80e255b9 Update workspace dependencies to be relative paths (Steve Myers)
96d932c8305bb6502529918ac6d94b0264458358 Add clippy.toml (Daniela Brozzoni)
5708bf0c8c33bd769baf8fe7d5bd34689511019b Fix docs (Daniela Brozzoni)
5acee8249621a90498e7b1b814b8c2fbbd45022b Update rust stable in CI (1.67.0) (Daniela Brozzoni)
8c9bcebc71c1d721e53c293359198c26122832aa Fix the "repository" field in Cargo.toml (Daniela Brozzoni)
c61b3604e167194516719da75c01653cef5dae6e Fix cargo clippy warnings (Daniela Brozzoni)
1805bd35c0530133e238bbf8d9a41d84e03e058d Fix clippy (Daniela Brozzoni)
3f5a78ae3b1e6c3f0a6acc98bb2445c895cfd743 Disable test-hardware-signer (Daniela Brozzoni)
303a1703c99e9cd02ded904e7e4409cedc21fe75 Rust fmt (Daniela Brozzoni)
b5559767db7e8f389415dfe135907063e21598b8 Rename the stub wallet examples (LLFourn)
2e82cd8c0406e2a0d2a7b40d77f7d0a169b9b9f8 Use tempfile for file_store tests (LLFourn)
c069b0fb4171aa11e980e8e070982d3046e07110 Move everything else over 🎉 (LLFourn)
949608ab1f0ae6ee4d3aad271a24f920068ccb3b Move bdk_electrum into the bdk repo :tada: (Daniela Brozzoni)
03deafb5538e55462443cd8ead0114bf788a7765 Move bdk_file_store into the bdk repo :tada: (Daniela Brozzoni)
37dfa77d9d732b8a48019b8457051659004ab6d9 Move bdk_chain into the bdk repo :tada: (Daniela Brozzoni)
f2188f9dcd094e65fcb5649004ef19c7d4b7ec30 Make lib.rs's docs be the README.md (LLFourn)
1c970a9295044de47da5ef92208b901fb4d9ec44 Fix code coverage CI (Daniela Brozzoni)
94a084aafde5285f0a677a98aa60d4375a62c1d7 Fix doc links (LLFourn)
9edbdf54c9de841db01a741c09017ccca70b76bc [ci] Fix feature flags (LLFourn)
20e45b7af055733af6863a6a297b03a7dc13c8d7 Add back test-hardware-signer feature (LLFourn)
6d05598407aae448ed1ca55a9a446e7cfc029bee Remove test-readme-examples (LLFourn)
b60820a7b5b506421bd6eeed14aaeada750e5f1c Remove authors.workspace because older cargo don't like (LLFourn)
22bec6d363bb3349e26f56243bef9e72277a6790 Delete unused errors (LLFourn)
8a6de3aa2dc9bac479f059630d0788ec1e62301d Convert to workspace (LLFourn)
fdfc9b9ede74ff24df51a33106caf4b5af702a69 Delete unused things (LLFourn)
e1eb0253cf34053a4cb93e7be0ec2d74281eff47 Make doctests work (LLFourn)
3baf9721ec28384fc322909570394e76f8f2c991 Use bdk_chain Balance (LLFourn)
b310a7afdd80f416e35aaeffae1e17b4e1d8a24e Add Wallet::cancel_tx (LLFourn)
5985706c1a8c6358d840eb12ed678836b56ffb02 Add wallet persistence (LLFourn)
57538e53e4f834942ba25c72531a9bbf69982284 Move tests to /tests (LLFourn)
a40da9ba6c41d714d611da35f8868a496df2a767 Make bdk no_std (LLFourn)
aab2b12f7ad57be8dc2c26ff33c44769425cdac4 bdk_core integration initial commit 🔥 (LLFourn)
544c397a38f272f0ac2ffa1a3195fe6a07f2ddbd Modified build, clippy and test steps (志宇)

Pull request description:

  We prepare the BDK repo for a major restructuring 🔥. This PR maintains the existing wallet API as much as possible and adds very little.

  ## Things Done

  - database modules removed
  - blockchain gutted but new esplora syncing code added (this will be gone soon hopefully).
  - minimal API changes.
  - Many macros removed.
  - no longer applicable examples removed.
  - Much conditional compilation removed. Can compile with `--all-features` now.
  - All wallet tests passing
  - TestClient moved into its own repo
  - Example using `esplora`

  ## APIs changed

  - wallet no longer has a `sync` method. This is replaced with `apply_wallet_scan`.
  - address "caching" is gone. You can just change the derivation index with `ensure_derived_up_to` which sets your derivation to at least the argument. Unlike `ensure_addresses_cached` used to do this will alter what getting a new address gives you.
  - `AddressIndex::Reset` is gone. This thing didn't make much sense and is hard to do with the more sane internals we've established. Changing the derivation index changes what script pubkeys the wallet will search so this is dangerous. We plan to add method like `trim_unused` which lowers the derivation index to the highest unused index. Applications must handle giving out old addresses manually now (which I think is good).

  ## Unfinished work

  - [x] esplora example doesn't work for mempool transactions yet (seems like our esplora in testclient doesn't index mempool??).
  - [x] we need to figure out a way to retrieve and store transaction timestamps (we're currently just setting them to `u64::MAX`). In `bdk_core` we never got around to doing this but it needs to be done.
  - [x] A few insights we got from doing this PR should be applied to bdk_core first.
  - [x] doctests not working.

  ### Notes to the reviewers

  Try not to review the actual changes. This PR will be forced pushed a bit so it will be likely wasted.
  I think I did a faithful job of translating the tests. A bit of review here would be helpful.

  I *do* think it would be good to merge this PR soon into the v1 branch so we have something to work off once unfinished work is done.
  Checking out the branch and poke around and give feedback would be the most helpful thing.

  Run the (sort of) working example:

  ```
  cargo run --example esplora --features="bdk_test_client/bitcoind_22_0 bdk_test_client/esplora esplora"
  ```
  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

  #### Bugfixes:

  * [x] This pull request breaks the existing API
  * [ ] I'm linking the issue being fixed by this PR (there's too many!)

ACKs for top commit:
  danielabrozzoni:
    ACK bc3e05c6c671e927d0f954dac602f89a452b3d86

Tree-SHA512: b5fbfd2263bb2a7cbf7b486530e639683775209bea944b266efd9c0447fb632295f7f5ddbd2e8d79796338415eaca26f1876617c2b66523485167b22e75e449e

2 years agoDoc fixes
Daniela Brozzoni [Mon, 13 Mar 2023 21:23:40 +0000 (22:23 +0100)]
Doc fixes

2 years ago[ci] misc fixes
Daniela Brozzoni [Fri, 10 Mar 2023 12:10:16 +0000 (13:10 +0100)]
[ci] misc fixes

LLFourn is squashing these to get them all signed:

Remove useless clippy allow

ci: use clippy action

[ci] remove check for features=default

2 years agoMake async esplora futures Send
LLFourn [Fri, 10 Mar 2023 01:12:00 +0000 (12:12 +1100)]
Make async esplora futures Send

2 years agoMore documentation improvements
志宇 [Fri, 10 Mar 2023 00:40:27 +0000 (13:40 +1300)]
More documentation improvements

2 years ago`bdk` README improvements
志宇 [Thu, 9 Mar 2023 03:34:48 +0000 (16:34 +1300)]
`bdk` README improvements

2 years agoAdd `wallet_esplora_async` example and various fixes
志宇 [Wed, 8 Mar 2023 21:59:18 +0000 (10:59 +1300)]
Add `wallet_esplora_async` example and various fixes

Fixes include:
* Allow `bdk_esplora` to use async with tls
* Reorganize `bdk_esplora` crate to have separate files for
  async vs blocking
* Use optional dependencies for `bdk_esplora` async

2 years agoImplement EsploraExt for Async client
Vladimir Fomene [Tue, 7 Mar 2023 14:04:06 +0000 (17:04 +0300)]
Implement EsploraExt for Async client

Creates a separate async EsploraAsyncExt trait for the
async client using async-trait crate. It has thesame
methods as the EsploraExt trait for the blocking client.
This trait is implemented on the AsyncClient of the
rust-esplora-client crate.

2 years agoReplace current caching solution with Rust Cache
Vladimir Fomene [Wed, 8 Mar 2023 10:49:54 +0000 (13:49 +0300)]
Replace current caching solution with Rust Cache

2 years agoexamples: exit if balance < SEND_AMOUNT
Daniela Brozzoni [Wed, 8 Mar 2023 14:20:36 +0000 (15:20 +0100)]
examples: exit if balance < SEND_AMOUNT

2 years agoFix cargo clippy
Daniela Brozzoni [Wed, 8 Mar 2023 14:20:20 +0000 (15:20 +0100)]
Fix cargo clippy

2 years agoImprove stdout output for wallet esplora/electrum examples
志宇 [Wed, 8 Mar 2023 02:28:56 +0000 (15:28 +1300)]
Improve stdout output for wallet esplora/electrum examples

2 years agoAdd `wallet_electrum` example
志宇 [Tue, 7 Mar 2023 23:01:01 +0000 (12:01 +1300)]
Add `wallet_electrum` example

2 years agoRemove transaction-based type parameters and traits
志宇 [Tue, 7 Mar 2023 22:39:25 +0000 (11:39 +1300)]
Remove transaction-based type parameters and traits

2 years agoChanged `inflate_update` logic to not depend on `Cow`
志宇 [Tue, 7 Mar 2023 12:53:09 +0000 (01:53 +1300)]
Changed `inflate_update` logic to not depend on `Cow`

As mentioned by @LLFourn:

1. We have a "sparse chain" from which there is a subset of txids M that are missing from graph.
2. There is also another subset C that are in the graph but their positions have changed.
3. We used the Cow to avoid copying/duplicating in memory transactions in subset C and M

Instead in inflate_update we could remove transactions in subset M and just clone data in subset C (which is usually tiny).

2 years agoUse os-specific temp dir for `wallet_esplora` example
志宇 [Mon, 6 Mar 2023 21:59:13 +0000 (10:59 +1300)]
Use os-specific temp dir for `wallet_esplora` example

2 years agoUse hardcoded send amount for `wallet_esplora` example
志宇 [Mon, 6 Mar 2023 21:47:13 +0000 (10:47 +1300)]
Use hardcoded send amount for `wallet_esplora` example

2 years agoAdd the wallet_esplora example
Daniela Brozzoni [Fri, 3 Mar 2023 16:53:44 +0000 (17:53 +0100)]
Add the wallet_esplora example

2 years agoNewError implements StdError (fix typo)
Daniela Brozzoni [Fri, 3 Mar 2023 16:33:47 +0000 (17:33 +0100)]
NewError implements StdError (fix typo)

2 years agoDisable code coverage
Daniela Brozzoni [Fri, 3 Mar 2023 16:13:51 +0000 (17:13 +0100)]
Disable code coverage

To be enabled again soon :tm:

2 years agoUse action-rs/toolchain in CI
Daniela Brozzoni [Fri, 3 Mar 2023 14:59:02 +0000 (15:59 +0100)]
Use action-rs/toolchain in CI

2 years agoMake bdk_esplora wasm compatible again
Daniela Brozzoni [Fri, 3 Mar 2023 11:07:04 +0000 (12:07 +0100)]
Make bdk_esplora wasm compatible again

There's a huge todo!() for the AsyncClient

2 years agoMake bdk_file_store use bincode v1
LLFourn [Fri, 3 Mar 2023 11:54:47 +0000 (22:54 +1100)]
Make bdk_file_store use bincode v1

2 years agoMake bdk and bdk_chain work under 1.57.0
Steve Myers [Fri, 3 Mar 2023 04:05:11 +0000 (22:05 -0600)]
Make bdk and bdk_chain work under 1.57.0

- rewrite some parts of the code to deal with older borrow checker
- downgraded hashbrown

2 years agoUpdate workspace dependencies to be relative paths
Steve Myers [Fri, 3 Mar 2023 02:38:10 +0000 (20:38 -0600)]
Update workspace dependencies to be relative paths

2 years agoAdd clippy.toml
Daniela Brozzoni [Thu, 2 Mar 2023 18:38:45 +0000 (19:38 +0100)]
Add clippy.toml

Explicitly sets the project MSRV so that clippy won't give warnings
for feature added after our MSRV

2 years agoFix docs
Daniela Brozzoni [Thu, 2 Mar 2023 18:37:05 +0000 (19:37 +0100)]
Fix docs

2 years agoUpdate rust stable in CI (1.67.0)
Daniela Brozzoni [Thu, 2 Mar 2023 18:26:08 +0000 (19:26 +0100)]
Update rust stable in CI (1.67.0)

2 years agoFix the "repository" field in Cargo.toml
Daniela Brozzoni [Thu, 2 Mar 2023 18:15:36 +0000 (19:15 +0100)]
Fix the "repository" field in Cargo.toml

2 years agoFix cargo clippy warnings
Daniela Brozzoni [Thu, 2 Mar 2023 18:08:33 +0000 (19:08 +0100)]
Fix cargo clippy warnings

Disabled warnings for nursery/tmp_plan as it's going to be replaced
anyways

2 years agoFix clippy
Daniela Brozzoni [Thu, 2 Mar 2023 15:24:22 +0000 (16:24 +0100)]
Fix clippy

2 years agoDisable test-hardware-signer
Daniela Brozzoni [Thu, 2 Mar 2023 15:14:27 +0000 (16:14 +0100)]
Disable test-hardware-signer

I suspect the latest version of HWI just broke everything

2 years agoRust fmt
Daniela Brozzoni [Thu, 2 Mar 2023 10:12:13 +0000 (11:12 +0100)]
Rust fmt

2 years agoRename the stub wallet examples
LLFourn [Thu, 2 Mar 2023 05:59:11 +0000 (16:59 +1100)]
Rename the stub wallet examples

2 years agoUse tempfile for file_store tests
LLFourn [Thu, 2 Mar 2023 05:44:18 +0000 (16:44 +1100)]
Use tempfile for file_store tests

2 years agoMove everything else over 🎉
LLFourn [Thu, 2 Mar 2023 05:23:06 +0000 (16:23 +1100)]
Move everything else over 🎉

This completes the move of things from https://github.com/LLFourn/bdk_core_staging

2 years agoMove bdk_electrum into the bdk repo :tada:
Daniela Brozzoni [Wed, 1 Mar 2023 10:20:00 +0000 (11:20 +0100)]
Move bdk_electrum into the bdk repo :tada:

Original repository: https://github.com/LLFourn/bdk_core_staging/tree/250b4f1dcce10805adfb2f201901675eb6076554/bdk_electrum

Co-authored-by: 志宇 <hello@evanlinjin.me>
Co-authored-by: LLFourn <lloyd.fourn@gmail.com>
2 years agoMove bdk_file_store into the bdk repo :tada:
Daniela Brozzoni [Wed, 1 Mar 2023 10:16:05 +0000 (11:16 +0100)]
Move bdk_file_store into the bdk repo :tada:

Original repository: https://github.com/LLFourn/bdk_core_staging/tree/250b4f1dcce10805adfb2f201901675eb6076554/bdk_file_store

Co-authored-by: 志宇 <hello@evanlinjin.me>
Co-authored-by: LLFourn <lloyd.fourn@gmail.com>
Co-authored-by: Vladimir Fomene <vladimirfomene@gmail.com>
2 years agoMove bdk_chain into the bdk repo :tada:
Daniela Brozzoni [Wed, 1 Mar 2023 10:09:08 +0000 (11:09 +0100)]
Move bdk_chain into the bdk repo :tada:

Original repository: https://github.com/LLFourn/bdk_core_staging/tree/250b4f1dcce10805adfb2f201901675eb6076554/bdk_chain

Co-authored-by: Steve Myers <steve@notmandatory.org>
Co-authored-by: 志宇 <hello@evanlinjin.me>
Co-authored-by: LLFourn <lloyd.fourn@gmail.com>
Co-authored-by: rajarshimaitra <rajarshi149@gmail.com>
Co-authored-by: LagginTimes <wzc110@gmail.com>
Co-authored-by: Steve Myers <steve@notmandatory.org>
Co-authored-by: Vladimir Fomene <vladimirfomene@gmail.com>
2 years agoMake lib.rs's docs be the README.md
LLFourn [Wed, 1 Mar 2023 06:02:06 +0000 (17:02 +1100)]
Make lib.rs's docs be the README.md

Also flesh out README a bit

2 years agoFix code coverage CI
Daniela Brozzoni [Wed, 22 Feb 2023 15:46:02 +0000 (16:46 +0100)]
Fix code coverage CI

If you want to have tests on the hardware-signer you need to install
the python libraries and start the emulator

2 years agoFix doc links
LLFourn [Tue, 21 Feb 2023 06:34:53 +0000 (17:34 +1100)]
Fix doc links

2 years ago[ci] Fix feature flags
LLFourn [Tue, 21 Feb 2023 06:22:59 +0000 (17:22 +1100)]
[ci] Fix feature flags

2 years agoAdd back test-hardware-signer feature
LLFourn [Tue, 21 Feb 2023 06:20:30 +0000 (17:20 +1100)]
Add back test-hardware-signer feature

2 years agoRemove test-readme-examples
LLFourn [Tue, 21 Feb 2023 06:15:00 +0000 (17:15 +1100)]
Remove test-readme-examples

we shouldn't have a feature flag for this it should always be done.

2 years agoRemove authors.workspace because older cargo don't like
LLFourn [Tue, 21 Feb 2023 05:55:08 +0000 (16:55 +1100)]
Remove authors.workspace because older cargo don't like

2 years agoDelete unused errors
LLFourn [Tue, 21 Feb 2023 05:50:24 +0000 (16:50 +1100)]
Delete unused errors

2 years agoConvert to workspace
LLFourn [Tue, 21 Feb 2023 05:23:08 +0000 (16:23 +1100)]
Convert to workspace

2 years agoDelete unused things
LLFourn [Tue, 21 Feb 2023 03:19:48 +0000 (14:19 +1100)]
Delete unused things

2 years agoMake doctests work
LLFourn [Tue, 21 Feb 2023 01:38:16 +0000 (12:38 +1100)]
Make doctests work

2 years agoUse bdk_chain Balance
LLFourn [Wed, 15 Feb 2023 02:00:32 +0000 (13:00 +1100)]
Use bdk_chain Balance

instead of bdk's one

2 years agoAdd Wallet::cancel_tx
LLFourn [Wed, 15 Feb 2023 01:52:10 +0000 (12:52 +1100)]
Add Wallet::cancel_tx

To allow you to re-use change addresses from transactions that get cancelled.

2 years agoAdd wallet persistence
LLFourn [Wed, 15 Feb 2023 01:23:59 +0000 (12:23 +1100)]
Add wallet persistence

2 years agoMove tests to /tests
LLFourn [Tue, 14 Feb 2023 02:54:07 +0000 (13:54 +1100)]
Move tests to /tests

To stop my rust-anlayzer from killing me

2 years agoMake bdk no_std
LLFourn [Tue, 10 Jan 2023 04:10:02 +0000 (15:10 +1100)]
Make bdk no_std

2 years agobdk_core integration initial commit 🔥
LLFourn [Thu, 3 Nov 2022 07:59:38 +0000 (15:59 +0800)]
bdk_core integration initial commit 🔥

We prepare the BDK repo for a major restructuring.

- database modules removed
- blockchain module removed
- minimal API changes.
- Many macros removed.
- no longer applicable examples removed.
- Much conditional compilation removed. Can compile with --all-features.
- delete verify module

2 years agoModified build, clippy and test steps
志宇 [Fri, 4 Nov 2022 03:16:03 +0000 (11:16 +0800)]
Modified build, clippy and test steps

Co-authored-by: Daniela Brozzoni <danielabrozzoni@protonmail.com>
2 years agoMerge bitcoindevkit/bdk#857: Check results in the DB tests
Daniela Brozzoni [Fri, 24 Feb 2023 10:22:13 +0000 (11:22 +0100)]
Merge bitcoindevkit/bdk#857: Check results in the DB tests

a1a70a50119fc4f02962cfffe29233e6d8fc116b Check results in the DB tests (Silvestrs Timofejevs)

Pull request description:

  ### Description

  Checksum test was giving a false positive due to ignoring the return value.

  Other tests were giving assertion fail later in the test, rather than an error on failed method call, thus making it more challenging to debug the issue.

  These have been discovered, when implementing PostgreSQL backend in a downstream fork.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing
  * [x] I ran all `sqlite` and `key-value-db` tests successfully

ACKs for top commit:
  danielabrozzoni:
    ACK a1a70a50119fc4f02962cfffe29233e6d8fc116b

Tree-SHA512: d3542cdd9f5f76f8318910261dbeb9cdcc9d4f26e9852e7aad7419c4abdf269d030b72bb21ee34a9dd314d2fa8433f1a6a9f1338a62699e5d8b6764c03067904

2 years agoMerge bitcoindevkit/bdk#869: Bump version to 0.27.1
Steve Myers [Thu, 16 Feb 2023 17:49:37 +0000 (11:49 -0600)]
Merge bitcoindevkit/bdk#869: Bump version to 0.27.1

231a1fba61c56c7d43c3a7d8d41af1f3b8aa4c3f Bump version to 0.27.1 (Steve Myers)

Pull request description:

  ### Description

  Bump dev version to 0.27.1.

  ### Notes to the reviewers

  This is in preparation for making a patch release and will be cherry picked to the release/0.27 branch. See #868.

  ### Changelog notice

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

Top commit has no ACKs.

Tree-SHA512: 7c791d221d95fb800c19b85c110a47f462b1c9ea7991dc1cf9bc5bb17d12b2dea9d1823d7f928ba06f09aaac36b1140610a29454857257f918124e0e0893fc4e

2 years agoBump version to 0.27.1
Steve Myers [Wed, 15 Feb 2023 22:42:20 +0000 (16:42 -0600)]
Bump version to 0.27.1

2 years agoMerge bitcoindevkit/bdk#867: Update rusqlite from 0.27.0 to 0.28.0
Steve Myers [Wed, 15 Feb 2023 20:42:26 +0000 (14:42 -0600)]
Merge bitcoindevkit/bdk#867: Update rusqlite from 0.27.0 to 0.28.0

8b2943c49b6747fd32c65cb73114e631042f6d4a Update rusqlite from 0.27.0 to 0.28.0 (Steve Myers)

Pull request description:

  ### Description

  Fix #866 by updating `rusqlite` dependency version from `0.27.0` to `0.28.0` to fix [RUSTSEC-2022-0090](https://rustsec.org/advisories/RUSTSEC-2022-0090).

  ### Notes to the reviewers

  This will also need to be cherry-picked to the `release/0.27` branch to create a new `0.27.1` release.

  ### Changelog notice

  Changed

  * Update rusqlite version from 0.27.0 to 0.28.0 to fix [RUSTSEC-2022-0090](https://rustsec.org/advisories/RUSTSEC-2022-0090).

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  rajarshimaitra:
    tACK 8b2943c49b6747fd32c65cb73114e631042f6d4a

Tree-SHA512: 0633e0523805895efb0e4c21671e6018d440b93f0b8119e8d553a2fac1f089b36addb2bf82fdf370674887e1b3efc09dc4c461d85043c469aeb41077488384a5

2 years agoUpdate rusqlite from 0.27.0 to 0.28.0
Steve Myers [Wed, 15 Feb 2023 01:05:06 +0000 (19:05 -0600)]
Update rusqlite from 0.27.0 to 0.28.0

2 years agoCheck results in the DB tests
Silvestrs Timofejevs [Fri, 10 Feb 2023 07:39:51 +0000 (07:39 +0000)]
Check results in the DB tests

Checksum test was giving a false positive due to ignoring the return
value.

Other tests were giving assertion fail later in the test, rather than
an error on failed method call, thus making it more challenging to
debug the issue.

These have been discovered, when implementing PostgreSQL backend in
a downstream fork.

2 years agoMerge bitcoindevkit/bdk#863: Fix ci Dockerfile.ledger
Daniela Brozzoni [Mon, 13 Feb 2023 22:21:40 +0000 (23:21 +0100)]
Merge bitcoindevkit/bdk#863: Fix ci Dockerfile.ledger

5b9e0e392a246b7cafa3fa6836be7603b039bad7 Fix ci Dockerfile.ledger (Steve Myers)

Pull request description:

  ### Description

  Ledger emulator used to default to `-model nanos` but in latest release we need to add it to the command line. This change fixes `test_hardware_wallet` CI tests.

  ### Notes to the reviewers

  I originally made this fix in the `release/0.27` branch, this PR cherry-picks the change back to the `master` branch. I should have done a `master` branch PR first but it's only a CI change and I wanted to get the `0.27.0` release out.

  ### Changelog notice

  None.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  danielabrozzoni:
    tACK 5b9e0e392a246b7cafa3fa6836be7603b039bad7

Tree-SHA512: 552586dc614d11c4084b73ad865078c9e28a1bdd3eda9addc8055df6408bba5f110f8aa7b3da730949f41cfd48f87b12cda0ba2df2b98e40e1590aa99b54a7ee

2 years agoFix ci Dockerfile.ledger
Steve Myers [Sat, 11 Feb 2023 04:26:46 +0000 (22:26 -0600)]
Fix ci Dockerfile.ledger

2 years agoMerge bitcoindevkit/bdk#852: Bump version to 0.27.0
Steve Myers [Fri, 3 Feb 2023 22:00:43 +0000 (16:00 -0600)]
Merge bitcoindevkit/bdk#852: Bump version to 0.27.0

0c2570ae07e7e90b66b2161121718ffac38dc3aa Pin dev-dependency zip to 0.6.3 (Steve Myers)
e83bb7c4dccd94d5876dc4361bd64c8405cf9f93 Bump version to 0.27.0 (Steve Myers)

Pull request description:

  ### Description

  Bump version to 0.27.0.

  ### Notes to the reviewers

  Updating changelog file again.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)

ACKs for top commit:
  danielabrozzoni:
    ACK 0c2570ae07e7e90b66b2161121718ffac38dc3aa

Tree-SHA512: 334e0a6933be18152f266e3622b877ccf67dafadd3a641eaf9ffa4e671babafbedcdaef431e2195aa7e11945f164b8da44bd8a208c8e7287ce87684fb2459787

2 years agoPin dev-dependency zip to 0.6.3
Steve Myers [Fri, 3 Feb 2023 18:13:20 +0000 (12:13 -0600)]
Pin dev-dependency zip to 0.6.3

2 years agoBump version to 0.27.0
Steve Myers [Thu, 2 Feb 2023 18:31:59 +0000 (12:31 -0600)]
Bump version to 0.27.0

2 years agoMerge bitcoindevkit/bdk#847: Update electrsd to version 0.22
Steve Myers [Thu, 2 Feb 2023 17:32:36 +0000 (11:32 -0600)]
Merge bitcoindevkit/bdk#847: Update electrsd to version 0.22

147a4ed141accc83aa2781b2468d3d950674f8e7 Update electrsd to version 0.22 (Steve Myers)

Pull request description:

  ### Description

  Update `electrsd` dev-dependency to version `0.22`.

  ### Notes to the reviewers

  We're able to do this now that esplora was updated in #830 and our MSRV was bumped to `1.57.0` in #842.

  ### Changelog

  None.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)

ACKs for top commit:
  rajarshimaitra:
    ACK 147a4ed141accc83aa2781b2468d3d950674f8e7

Tree-SHA512: 20e0aebb02d786a4d426a2d2e66b78225a803eee2c2f6092b0cf8f18e6fe91e37ef7a74e109e3ad4d734af8de4dc71598f7e80f50d40187442dad323000c6090

2 years agoMerge bitcoindevkit/bdk#844: Update rust-miniscript to 9.0
Steve Myers [Thu, 2 Feb 2023 16:43:55 +0000 (10:43 -0600)]
Merge bitcoindevkit/bdk#844: Update rust-miniscript to 9.0

cf8cd2f2b4a975afbea18309a5dae0158acd8805 Update rust-miniscript to version 9.0, hwi to version 0.5 (Steve Myers)

Pull request description:

  ### Description

  A new [`rust-miniscript` release 9.0](https://github.com/rust-bitcoin/rust-miniscript/blob/master/CHANGELOG.md#900---november-5-2022) came out on Nov 14, updating to it to pickup the bug fixes. Also updating dependency`hwi` to new `0.5` version which used the `9.0` version of `rust-miniscript`.

  ### Notes to the reviewers

  This new version of `rust-miniscript` uses the same version of `rust-bitcoin` we are on, 0.29.1.

  ### Changelog notice

  Update rust-miniscript dependency to latest bug fix release 9.0.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  rajarshimaitra:
    ACK cf8cd2f2b4a975afbea18309a5dae0158acd8805

Tree-SHA512: 12473f67d2a4388e3d93b91988233e067328c344bb993981b014e1f7469db82f12d8f68eb1bf093feb25c4428d10451d8f361497c71c4f696d19939d4be9d858

2 years agoMerge bitcoindevkit/bdk#838: Add small clarification to docs
Steve Myers [Thu, 2 Feb 2023 02:05:46 +0000 (20:05 -0600)]
Merge bitcoindevkit/bdk#838: Add small clarification to docs

f0cec015b59ab484e81ca675d1170af5eb553911 Add small clarification to docs (thunderbiscuit)

Pull request description:

  ### Description
  Very small fixes to documentation:
  1. I got a DM last week from a user who thought we had a bug with our timestamps. It turns out he was using the milliseconds version of the Unix timestamp in his project and didn't realize we were giving out a standard Unix timestamp. The docs now mention this explicitly.
  2. I noticed some small inconsistencies in the documentation on the public templates while porting them over to Kotlin. This PR also fixes that so that all templates use a common documentation wording.

  ### Checklists
  #### All Submissions:
  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    Re-ACK f0cec015b59ab484e81ca675d1170af5eb553911

Tree-SHA512: ad42278126a0613fb1ba15f4e0ca92e05038389ac2e6b1015ea045f30ee8e92a40d6c089c35d0492bba0dc6d71e44b29879bd37a8bc491ff6367a89cab958db2

2 years agoMerge bitcoindevkit/bdk#846: Update CHANGELOG and release process
Steve Myers [Wed, 1 Feb 2023 17:20:54 +0000 (11:20 -0600)]
Merge bitcoindevkit/bdk#846: Update CHANGELOG and release process

4ada11f3581a172ec2d5980378267f578e998740 Update CHANGELOG and release process (Steve Myers)

Pull request description:

  ### Description

  Per discussion on discord with @danielabrozzoni this PR updates our release process to go back to updating our CHANGELOG.md file for each release.

  ### Notes to the reviewers

  This adds one more step the person making releases has to do but it isn't much.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)

ACKs for top commit:
  danielabrozzoni:
    ACK 4ada11f3581a172ec2d5980378267f578e998740

Tree-SHA512: 80c116c90b4a5c5d4091678dd7714c9eee881c0f181dd220e878011001ad458db2bb81dea7dc13f2d768b9169c3644191d7969c533b784a5e26f5aa6c9e66fc2

2 years agoUpdate CHANGELOG and release process
Steve Myers [Mon, 30 Jan 2023 23:26:57 +0000 (17:26 -0600)]
Update CHANGELOG and release process

2 years agoUpdate rust-miniscript to version 9.0, hwi to version 0.5
Steve Myers [Thu, 26 Jan 2023 21:13:37 +0000 (15:13 -0600)]
Update rust-miniscript to version 9.0, hwi to version 0.5