jwinterm 4eb7db0b72 Delete cw_zano / cw_tron / cw_solana / cw_decred packages + all references
These chains were already disabled in availableWalletTypes (none of them
were getting created), but the source dirs and the codegen scaffolding
for them still lived in tree (~20K lines of dead Dart).

Surgery:
- Delete cw_decred/ cw_solana/ cw_tron/ cw_zano/ source trees
- Strip 5 generate*() function bodies from tool/configure.dart
  (generateSolana, generateTron, generateZano, generateDecred,
  generateZcash) plus their top-level imports, args, calls,
  signatures, and conditional pubspec/walletTypes injection blocks.
  configure.dart shrinks from 2134 to 1561 lines and dart analyze
  is clean.
- Strip solana/tron secrets config + output paths from
  tool/import_secrets_config.dart
- Delete scripts/{android,ios,macos}/build_decred.sh,
  scripts/ios/build_zano{,_all}.sh
- Patch scripts/{android,ios,macos}/build_all.sh,
  scripts/android/copy_monero_deps.sh, scripts/ios/setup.sh,
  scripts/ios/gen_framework.sh to drop decred/zano steps
- Patch scripts/android/docker/build.sh + Dockerfile.final to drop the
  decred Docker stage; delete scripts/android/docker/Dockerfile.decred
- Update .github/workflows/build-linux.yml comments to reflect the
  remaining cw_* module list (evm, nano, bitcoin)

Note: WalletType.{solana,tron,zano,decred,zcash} enum values still live
in cw_core/lib/wallet_type.dart and there are dead switch cases in
lib/di.dart and lib/new-ui/pages/*.dart that reference them. Those
paths are unreachable (the enum values never get assigned to any wallet)
but cleaning them up is a separate hygiene pass.
2026-05-17 08:01:29 -04:00
2026-03-11 04:26:57 +02:00
2026-03-11 04:26:57 +02:00
2026-03-11 04:26:57 +02:00

Hash Wallet

Hash Wallet (#) is an open-source, non-custodial, multi-currency crypto wallet for Android, iOS, macOS, Linux, and Windows. It is a fork of Cake Wallet maintained by Such Software LLC.

Why a fork?

Cake Wallet ended Wownero support in early 2026. Hash Wallet exists to keep Wownero as a first-class mobile experience, run by the project's founder, while shipping a slimmer, more focused multi-coin wallet without the chains and integrations we don't want to maintain or recommend.

Supported chains

  • Monero (XMR)
  • Wownero (WOW)
  • Bitcoin (BTC)
  • Litecoin (LTC), incl. MWEB
  • Bitcoin Cash (BCH)
  • Dogecoin (DOGE)
  • Nano (XNO)
  • Ethereum (ETH) + ERC-20s
  • Polygon (POL)
  • Base (BASE)
  • Arbitrum (ARB)
  • BNB Smart Chain (BSC)

Hardware wallet support: Ledger, Trezor, BitBox.

What's different from Cake Wallet

Removed:

  • Solana, Tron, Zano, Zcash, Decred (chain support disabled)
  • Lightning Network (deferred — running Greenlight infra is out of scope for now)
  • Cake Pay gift cards (Cake Labs–operated service)
  • All direct swap-provider integrations except Trocador, which already aggregates ChangeNow, FixedFloat, LetsExchange, Exolix, StealthEx, Quantex, and ~16 others under one privacy-friendly API

Replaced or planned:

  • Default Monero/Wownero/BTC node lists augmented with community nodes (don't rely on Cake Labs–operated nodes alone)
  • Fiat price API replacement (Cake's API → public source) — pending
  • Tor / Arti integration improvements — pending

Build instructions

The build system is unchanged from upstream Cake Wallet. See docs/ for per-platform instructions:

  • Android: docs/build_android.md
  • iOS: docs/build_ios.md
  • macOS: docs/build_macos.md
  • Linux: docs/build_linux.md
  • Windows: docs/build_windows.md

Required Flutter version is pinned in Dockerfile (currently 3.32.0) and .tool-versions. Newer Flutter SDKs (3.5+) drop the _macros pseudo-package that Cake's pinned hive_generator + build_resolvers transitively require — flutter pub get will fail until you switch to 3.32.0. If using asdf or mise, the version will be picked up automatically; otherwise:

git clone --depth 1 --branch 3.32.0 https://github.com/flutter/flutter.git ~/sdks/flutter/3.32.0
export PATH="$HOME/sdks/flutter/3.32.0/bin:$PATH"
flutter --version    # confirm 3.32.0 / Dart 3.8.0

Before the first flutter pub get, you must run the prep scripts to clone external native dependencies:

./scripts/prepare_torch.sh
./scripts/prepare_moneroc.sh
./scripts/prepare_zcash.sh   # still required by build, even though Zcash is disabled
./scripts/build_bitbox_flutter.sh
# Then fetch the prebuilt reown_flutter tarball (CI does this; reproduce locally
# with the URL in .github/workflows/pr_test_build_linux.yml if you have it).

Then run the platform-specific configure script, e.g.:

APP_LINUX_TYPE=cakewallet ./configure_hash_wallet.sh linux

Contributing

Issues and PRs welcome at https://github.com/Such-Software/hash-wallet.

License

Hash Wallet is distributed under the MIT License, inheriting from Cake Wallet.

Copyright (C) 2018–2023 Cake Labs LLC
Copyright (C) 2026      Such Software LLC

Cake Wallet, the Cake Wallet logo, and related marks are trademarks of Cake Labs LLC and are not used by Hash Wallet.

S
Description
No description provided
Readme
80 MiB
Languages
Dart 95.1%
Shell 2.4%
Python 0.7%
CMake 0.5%
C++ 0.4%
Other 0.7%