Commit Graph

13 Commits

Author SHA1 Message Date
b1b0d4559b feat(frontend): implement GetMempoolStream for 0-conf lightwallet txs
The CompactTxStreamer service did not implement any mempool RPC, so
lightwallets (SilentDragonXLite / ObsidianDragonLite) received UNIMPLEMENTED
from get_mempool_stream and permanently stopped their mempool monitor. As a
result the lite wallet could not see 0-confirmation transactions and only
surfaced incoming shielded chat messages after they were mined (~1 block).

Add GetMempoolStream(Empty) returns (stream RawTransaction). A single
process-wide monitor (frontend/mempool.go) polls the node's getrawmempool and
fetches each new tx via getrawtransaction (full serialized bytes, so shielded
memos are preserved -- CompactTx's 52-byte prefix would not carry a memo), then
fans the tx out to every subscribed stream. This avoids polling the node once
per connected wallet: N clients share one poll loop. The monitor starts lazily
on the first subscription, idles without touching the node when no clients are
connected, and closes all subscriber streams when a new block is mined (the
semantics the client's monitor loop expects; the client re-syncs and reconnects).

Purely additive and wire-compatible: RawTransaction field numbers and the
cash.z.wallet.sdk.rpc package match the deployed client; existing clients that
never call GetMempoolStream are unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 20:10:26 -05:00
Denio
01e1d766a0 add coinsupply rpc to lightwalletd 2019-12-05 21:37:35 +01:00
Denio
0978322f62 add longestchain and notarized to lightinfod 2019-12-02 11:42:50 +01:00
Denio
a269cd1e6b add difficulty to lightdinfo 2019-12-02 10:35:38 +01:00
Aditya Kulkarni
a8cc2424a2 Thread safe cache with separate ingestor 2019-09-25 21:15:32 -07:00
Aditya Kulkarni
fbb75e8f20 Return consensusBranchId 2019-09-25 17:46:05 -07:00
Aditya Kulkarni
d59757571d Remove UTXOs call 2019-09-25 11:43:54 -07:00
Aditya Kulkarni
3b4573c4f0 Add chainname and activation height to getinfo 2019-09-18 21:16:15 -07:00
Aditya Kulkarni
e723c4e1d8 Return tx heights 2019-09-17 13:26:23 -07:00
Aditya Kulkarni
d36126ba9d Add transparent txns 2019-09-13 16:02:58 -07:00
Aditya Kulkarni
b4796bc67e New RPC call 2019-09-10 16:34:01 -07:00
Aditya Kulkarni
0c85de50ad New RPC call 2019-09-05 11:48:32 -07:00
George Tankersley
d08abe82b4 walletrpc: improve protobuf/grpc package naming 2019-02-14 00:18:14 +00:00