FireCash v0.2.1 — critical wallet update
Critical wallet-correctness and performance update. All users should upgrade. The chain itself is unaffected (no fork; consensus unchanged). Wallets rescan automatically on first start and then show correct balances.
Fixed
- Wallet balances could differ between devices / miss coins. Wallets scanned raw DAG blocks; consensus applies shielded state per chain block. The node now serves the exact per-chain-block shielded stream (new
GetShieldedBlocksRPC);firecash-walletdandshielded-paysync from it. Old scan state is auto-invalidated and rebuilt. - A payment could show up twice in the recipient's wallet (and silently corrupt later spend witnesses) when the same transaction was carried by two parallel DAG blocks: wallets now apply the same nullifier drop rule as consensus. Found by live testing on mainnet.
- Sends of many notes took hours and were then rejected on transaction mass. Sends are planned against the standard mass cap before proving (max 6 spent notes per tx); walletd splits large payments across several transactions automatically. New
POST /api/wallet/consolidatemerges small mining-reward notes. - Payments no longer rebuild the Halo 2 proving key each time and prove multi-core — a real mainnet payment proof now takes ~7 seconds (measured; previously reported up to 106 minutes).
- Node: a holed local database could crash-loop the node via the
get_blocksRPC. It now returns an RPC error and stays up. - Wallet tools work against pruned nodes: the shielded signature domain comes from network parameters, and full scans anchor at the pruning-point frontier. Older wallet builds stop working as pruning advances; upgrading is required.
- Hosted wallet: sends are always signed on-device (the server never holds spend authority), the seed is remembered per device, and multi-wallet sync shares one chain stream. Explorer: deduplicated feed, honest block-rate stat, public "Network nodes" stat.
⚠ New nodes: bootstrap datadir currently required
Pruning has advanced past genesis, and shielded-state import at the pruning point is not yet part of sync — a brand-new node cannot yet validate the chain from the network alone. Until that ships in the next release, start new nodes from the firecash-bootstrap-datadir.tar.gz asset below: extract it into your --appdir before first start. Existing synced nodes are unaffected.
Upgrade
Stop your node + wallet daemon, replace the binaries, restart the node first, then the wallet daemon. First wallet start performs one automatic rescan.