Make bark compilable to wasm targets
-
check or remove this line after you've added a CHANGELOG entry or if your PR doesn't need one (they should go into
CHANGELOG/unreleased/)
gRPC-web support and WASM compatibility for bark
This branch enables running bark in the browser by adding gRPC-web transport and making the core libraries compile to wasm32-unknown-unknown targets.
Changes
gRPC-web
- Server: add a gRPC-web layer via tonic-web so browser clients can connect
- Bark: support gRPC-web transport via a grpc-web feature flag
WASM compatibility
- bitcoin-ext: make wasm compatible (conditional compilation for esplora)
- ark-lib: make wasm compatible (feature-gate secp signing rand)
- bark: relax Send bounds on async traits for wasm targets
- bark: use spawn_local instead of tokio::spawn on wasm
- bark: use web-compatible time lib (instant) on wasm targets
- bark: remove sqlite from default features, rearrange features for wasm