Newer Flutter SDKs drop the _macros pseudo-package that Cake's pinned
hive_generator + build_resolvers transitively require, so 'flutter pub get'
fails on Flutter 3.5+. Pin the version with .tool-versions (asdf/mise pick
this up automatically) and document the manual install path for everyone
else.
- Un-gitignore assets/images/app_logo.png so our 1024x1024 brand master
stays in tree (Cake gitignored it because their build symlinks per-product
logos in via app_icon.sh; we have a single product so no symlink dance).
- Overwrite assets/images/cakewallet_logo.png with the Hash Wallet master
too — that file is the source the existing scripts/{ios,android,macos}/
app_icon.sh symlinks into place during configure, so swapping it gets the
new logo into in-app surfaces without touching the Cake-style icon scripts.
Per-density Android mipmap and per-size iOS/macOS variants (cakewallet_android_icon/,
cakewallet_ios_icons/, cakewallet_macos_icons/) are still Cake's artwork.
Run 'flutter pub run flutter_launcher_icons' after pub get to regenerate
those from the master.
- New assets/images/app_logo.png — 1024x1024 master with white # on
green (#1a5c38) background. Source SVG checked in alongside as
hash_wallet_app_icon_source.svg.
- Enable flutter_launcher_icons dependency (was commented out) and rename
the legacy 'flutter_icons' config key to the modern 'flutter_launcher_icons'
key. Added linux + windows generation; remove_alpha_ios per Apple
requirement that App Store icons not have alpha.
After pub get, run 'flutter pub run flutter_launcher_icons' to populate
the per-platform icon variants (iOS appiconset, Android mipmaps, macOS
appiconset, etc.). Splash / launch images are still Cake's defaults; that's
a follow-up.
Per Trocador's commercial team, webhook-driven status updates are preferred
over polling. Adding 'webhook' param to /new_trade so Trocador POSTs status
changes to our Cloudflare Worker, which caches them in KV for the wallet to
read.
This commit only adds the producer side. The wallet still polls Trocador
directly (every 5 min via trade_monitor.dart); switching the polling source
to our worker is a follow-up.
Stop hitting fiat-api.cakewallet.com (and stop sending Cake's API key) for
spot price lookups. Point at our own Cloudflare Worker endpoint at
prices.suchsoftware.com which fetches Kraken (majors) + NonKYC (WOW) and
serves USD prices. Worker source lives in github.com/Such-Software/hash-wallet-prices.
Response shape unchanged so the rest of the wallet code (especially
balance display) needs no further edits.
Note: USD-only for now — non-USD fiats return 0 until forex conversion is
added server-side. Tor users fall back to clearnet until we deploy a .onion
mirror.
- Add FeatureFlag.isLightningEnabled flag (off)
- Gate dashboard_view_model.hasLightning behind the flag, which transitively
hides the LightningSwitcher in TopBar and the Lightning Username settings
row (both already gated on hasLightning)
- Remove CryptoCurrency.btcln from CryptoCurrency.all so it stops appearing
in any all-currencies pickers/lists
Lightning code paths (cw_bitcoin/lib/lightning/, lightning send/receive
pages) are intentionally left in place so the flag can be flipped back on
once we have an LSP / Greenlight node lined up.