Skip to content

v0.6.3

Choose a tag to compare

@hitchho hitchho released this 14 Mar 19:59
· 433 commits to master since this release

zidecar tower refactoring, mempool streaming, zclid daemon

tower service layer

  • zebrad client wrapped with tower retry (3x exponential backoff) + 30s timeout
  • typed error classification via reqwest methods instead of string matching
  • buffer(32) backpressure on concurrent zebrad calls

grpc middleware + module split

  • tower-http trace layer for automatic request/response logging
  • grpc_service.rs split into 4 domain modules: proofs, blocks, nomt, sync

mempool streaming

  • new GetMempoolStream RPC — streams full mempool as compact blocks (height=0)
  • client scans locally for privacy (trial decrypt + nullifier check)
  • optional server-side cache (--mempool-cache-ttl) for public nodes

zclid wallet daemon

  • background daemon keeps wallet synced, serves instant gRPC queries
  • dual custody: full spending key (agents) or view-only FVK (zafu extension)
  • unix socket for local zcli + tcp with bearer token auth for remote access
  • constant-time token comparison, atomic file permissions, core dump disable

deployment

  • caddy config template for HA zidecar (h3/quic, gRPC-web CORS, health checks)
  • hardened systemd units (syscall filter, W^X, no capabilities)

bug fixes

  • fix tree state deserialization for pre-orchard heights (missing finalState)
  • fix error variant preservation through tower buffer layer

testing

  • integration tests against live zebrad + production wire compatibility

Full Changelog: v0.6.2...v0.6.3