84 Commits

Author SHA1 Message Date
Alekos Filini
b5b92248c7
Rename esplora features to -async and -blocking 2022-09-28 21:08:18 +02:00
Alekos Filini
e1fa0b6695
Fix the new release process 2022-09-16 14:56:27 +02:00
Daniela Brozzoni
aa0ea6aeff
codecov: warn about missing features 2022-09-10 18:11:22 +02:00
Daniela Brozzoni
c3a7bbb3ff
codecov: slightly change the test features
- Remove default and minimal, as they are redundant
- Use lexicographic order
2022-09-10 18:11:17 +02:00
Daniela Brozzoni
1c4d47825b
Run code coverage on every PR
In this way we can check how much of a PR is covered by the tests,
making the review process slightly easier.
2022-09-09 22:34:58 +02:00
wszdexdrf
690411722e
Change configs for source-base code coverage
Also add cacheing to code coverage workflow
2022-09-02 11:20:04 +05:30
Steve Myers
7c57965999
Bump version before making release branch, separate patch_release template 2022-08-31 07:43:06 -05:00
Steve Myers
3d69f1c291
Update DEVELOPMENT_CYCLE.md to work with [patch.crates-io] 2022-08-31 07:43:03 -05:00
wszdexdrf
d6e1dd1040
Change CI to add test using ledger emulator 2022-08-29 13:54:01 +05:30
Daniela Brozzoni
b289c4ec2d
Bump MSRV from 1.56.0 to 1.56.1
In this way we can continue using reqwest v0.11, whose MSRV is now
1.56.1
The only difference between v1.56.0 and v1.56.1 is a bug fix for
CVE-2021-42574.
2022-06-27 12:29:10 +02:00
Alekos Filini
e1a1372bae
rpc: use importdescriptors with Core >= 0.21
Only use the old `importmulti` with Core versions that don't support
descriptor-based (sqlite) wallets.

Add an extra feature to test against Core 0.20 called `test-rpc-legacy`
2022-06-07 15:07:58 +02:00
Steve Myers
35feb107ed
[CI] Fix cont_integration test-blockchains to run all tests 2022-05-19 14:00:40 -07:00
Alekos Filini
cca69481eb
Bump MSRV to 1.56 2022-05-04 17:29:07 +02:00
Steve Myers
c6eeb7b989
Add sqlite-bundled feature 2022-03-22 10:00:55 -05:00
rajarshimaitra
53c30b0479
Add verification tests in CI 2022-02-09 12:30:32 +05:30
Steve Myers
07c270db03
[ci] Pin nightly docs workflow rust version to nightly-2022-01-25 2022-02-04 08:55:00 -06:00
Steve Myers
947a9c29db
Fix nightly_docs.yml publish_docs 'Commit' step 2021-12-23 10:23:11 -08:00
Steve Myers
1a907f8a53
[ci] Fix publish_docs job 2021-12-17 21:28:39 -08:00
Steve Myers
57a1185aef
Only run clippy for the stable rust version 2021-12-16 09:12:43 -08:00
rajarshimaitra
084ec036a5
Use "Description" instead of "Descriptive Title" 2021-11-30 12:26:36 +05:30
Steve Myers
8534cd3943
Update issue templates 2021-11-24 21:55:46 -08:00
rajarshimaitra
3b2b559910
Update codecov@v2 2021-11-02 15:21:37 +05:30
Alekos Filini
a348dbdcfe
[ci] Update the stable version to 1.56 2021-10-22 15:57:27 +02:00
John Cantrell
c06d9f1d33
implement sqlite database 2021-09-23 20:54:08 -04:00
Steve Myers
a685b22aa6
[ci] Change check-wasm job to use ubuntu-20.04 runner 2021-09-22 10:08:10 -07:00
rajarshimaitra
10b53a56d7
Update CI blockchain tests 2021-09-14 11:29:29 +05:30
Steve Myers
73a7faf144
Remove unneeded cache paths for test-blockchains CI job 2021-08-18 09:10:47 +02:00
Tobin Harding
27cd9bbcd6
Improve feature combinations for ureq/reqwest
Our features are a bit convoluted, most annoyingly we cannot build with
`--all-features`. However we can make life for users a little easier.

Explicitly we want users to be able to:

- Use async-interface/WASM without using esplora (to implement their own blockchain)
- Use esplora in an ergonomic manner

Currently using esplora requires either reqwest or ureq. Instead of
making the user add all the features manually we can add features that
add the required feature sets, this makes it easier for users to
understand what is required and also makes usage easier.

With this patch applied we can do

- `cargo check --no-default-features --features=use-esplora-reqwest`
- `cargo check --no-default-features --features=use-esplora-ureq`
- `cargo check --features=use-esplora-ureq`
- `cargo check --no-default-features --features=async-trait`
2021-07-29 10:12:17 +10:00
Tobin Harding
f37e735b43
Add a ureq version of esplora module
The `Blockchain` implementation for connecting to an Esplora instance is
currently based on `reqwest`. Some users may not wish to use reqwest.

`ureq` is a simple HTTP client (no async) that is useful when `reqwest`
is not suitable.

- Move `esplora.rs` -> `esplora/reqwest.rs`
- Add an implementation based on the `reqwest` esplora code but using `ureq`
- Add feature flags and conditional includes to re-export everything to
  the `esplora` module so we don't effect the rest of the code base.
- Remove the forced dependency on `tokio`.
- Make esplora independent of async-interface
- Depend on local version of macros crate
2021-07-29 09:16:44 +10:00
Steve Myers
bab9d99a00
Merge commit 'refs/pull/375/head' of github.com:bitcoindevkit/bdk 2021-07-13 15:12:53 -07:00
Alekos Filini
a186d82f9a
[wallet] Verify unconfirmed transactions after syncing
Verify the unconfirmed transactions we download against the consensus
rules. This is currently exposed as an extra `verify` feature, since it
depends on a pre-release version of `bitcoinconsensus`.

Closes #352
2021-07-01 16:36:42 +02:00
Riccardo Casatta
f52fda4b4b
update github ci removing electrs download and fixing cache 2021-06-29 11:35:00 +02:00
Riccardo Casatta
8e41c4587d
use bitcoind with feature to download the binary 2021-06-29 11:34:56 +02:00
Riccardo Casatta
f4ecfa0d49
Remove container and test blockchains downloading backends executables 2021-06-29 11:34:48 +02:00
Riccardo Casatta
6394c3e209
use bitcoind and electrsd crate to launch daemons 2021-06-29 11:32:26 +02:00
Alekos Filini
2755b09e7b
Bump CI stable version to 1.53
Fixes #374
2021-06-21 12:16:54 +02:00
Alekos Filini
9ff86ea37c
Merge commit 'refs/pull/370/head' of github.com:bitcoindevkit/bdk 2021-06-18 12:54:11 +02:00
Steve Myers
e3316aee4c
[ci] Change blockchain tests to use bitcoind rpc cookie authentication 2021-06-15 15:39:54 -07:00
Riccardo Casatta
0bbfa5f989
make fee in TransactionDetails Option, add confirmation_time field as Option
confirmation_time contains both a block height and block timestamp and is
Some only for confirmed transaction
2021-06-14 15:29:24 +02:00
Alekos Filini
18254110c6
Merge commit 'refs/pull/348/head' of github.com:bitcoindevkit/bdk 2021-06-11 11:41:23 +02:00
Alekos Filini
4a23070cc8
[ci] Check fmt for examples/doctests 2021-06-04 15:07:02 +02:00
Riccardo Casatta
e1b037a921
change feature to execute sync from rpc to test-rpc 2021-06-03 10:56:01 +02:00
Riccardo Casatta
bfef2e3cfe
Implements RPC Backend 2021-06-03 10:55:58 +02:00
LLFourn
4c92daf517
Uppercase 'Test' so that github can see what's up
It is expecting something named 'Test electrum'
2021-05-20 14:33:02 +10:00
LLFourn
d60c5003bf
Merge testutils crate into the main crate
This avoids having to keep the apis in sync between the macros and the
main project.
2021-05-19 16:45:48 +10:00
LLFourn
fcae5adabd
Run blockchain tests on esplora
They were only being run on electrum before.
2021-05-19 15:47:44 +10:00
codeShark149
e626f2e255
Added grcov based code coverage reporting in github action 2021-04-30 17:20:20 +05:30
Steve Myers
8c00326990
[ci] Revert fixed nightly-2021-03-23, use actual nightly 2021-04-15 10:15:13 -07:00
Alekos Filini
45983d2166
Merge commit 'refs/pull/322/head' of github.com:bitcoindevkit/bdk 2021-04-15 11:40:34 +02:00
Steve Myers
89cb4de7f6
[ci] Update 'test-readme-examples' job to use nightly-2021-03-23 2021-04-14 20:34:32 -07:00