Repository navigation
v0.6.3
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