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`
This commit is contained in:
Tobin Harding
2021-07-29 09:39:36 +10:00
parent f37e735b43
commit 27cd9bbcd6
3 changed files with 13 additions and 9 deletions

View File

@@ -16,7 +16,7 @@ jobs:
- default
- minimal
- all-keys
- minimal,esplora,ureq
- minimal,use-esplora-ureq
- key-value-db
- electrum
- compact_filters
@@ -25,7 +25,7 @@ jobs:
- rpc
- verify
- async-interface
- async-interface,esplora,reqwest
- use-esplora-reqwest
steps:
- name: checkout
uses: actions/checkout@v2
@@ -139,7 +139,7 @@ jobs:
- name: Update toolchain
run: rustup update
- name: Check
run: cargo check --target wasm32-unknown-unknown --features esplora,reqwest --no-default-features
run: cargo check --target wasm32-unknown-unknown --features use-esplora-reqwest --no-default-features
fmt: