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

Merge request reports

Loading