dev #10

Merged
such-gitea merged 8 commits from github-such-software/hash-wallet:dev into dev 2026-05-17 11:09:19 -04:00
Owner

Issue Number (if Applicable): Fixes #

Description

Please include a summary of the changes and which issue is fixed / feature is added.

Pull Request - Checklist

  • Initial Manual Tests Passed
  • Double check modified code and verify it with the feature/task requirements
  • Format code
  • Look for code duplication
  • Clear naming for variables and methods
  • Manual tests in accessibility mode (TalkBack on Android) passed
Issue Number (if Applicable): Fixes # # Description Please include a summary of the changes and which issue is fixed / feature is added. # Pull Request - Checklist - [ ] Initial Manual Tests Passed - [ ] Double check modified code and verify it with the feature/task requirements - [ ] Format code - [ ] Look for code duplication - [ ] Clear naming for variables and methods - [ ] Manual tests in accessibility mode (TalkBack on Android) passed
such-gitea added 8 commits 2026-05-17 11:09:13 -04:00
Three semi-independent fixes flagged from a user-facing testing pass:

1. cw_core/lib/root_dir.dart had a hardcoded 'cake_wallet' for the
   Linux app data dir, bypassing the binary name entirely. That's why
   ~/.config/cake_wallet/ kept being created even after the project
   rename. Changed appName const to hash_wallet. Also:
   - CAKE_WALLET_DIR env-var override -> HASH_WALLET_DIR (with the
     old name kept as a fallback so users migrating from a Cake
     install via env-var don't lose their path).
   - linuxSymlinkSharedPreferences kept the legacy
     ['com.example.cake_wallet','cake_wallet'] paths in the migration
     array so existing Cake users get auto-migrated into hash_wallet's
     new home on first launch of the fork.

2. lib/new-ui/new_dashboard.dart: commented out the
   Future.delayed(300ms).then(_showChangelog) trigger. The changelog
   content lives under assets/new-ui/changelog/text and describes
   Cake's v6.1.0 release notes — not ours. The 'View more info' button
   inside the modal launched blog.cakewallet.com. Re-enable once we
   write our own changelog content.

3. tool/configure.dart: WalletType.wownero hoisted to the top of the
   generated availableWalletTypes list. It's the reason this fork
   exists, so it should be the first choice in create / restore
   pickers. Monero stays as #2.
Cake's email was hardcoded as the recipient for the 'Send error report'
flow in ExceptionHandler and as the contact in the TransactionCommitFailed
user-facing message. Anyone tapping Send would have mailed their wallet
metadata to Cake's support team. Repointed both to support@such.software.
- Stub dashboard bulletin (was polling service-api.cakewallet.com); returns
  empty ServicesResponse until we stand up our own notice service.
- Repoint changelog 'View more info' link to hash.boats (modal trigger
  remains disabled; this is just for when we re-enable it).
- Replace exchange-helper.cakewallet.com with exchange-helper.such.software
  in moonpay/robinhood/onramper providers. Buy providers are still dormant
  (empty getAvailable*ProviderTypes); URL change is a fail-loudly placeholder
  to ensure we stand up our own proxy before re-enabling any of them.
- Delete Monerocom_Terms_of_Use.txt and Monerocom_Release_Notes.txt — these
  were Cake's Monero.com brand variant, never used by Hash Wallet. Collapse
  the isMoneroOnly branch in disclaimer_page.dart to always load
  Terms_of_Use.txt.
- Add docs/links.md (gitignored) inventorying all public-facing URLs and
  emails shipped in the binary.
Cake's nodes are kept in the available list (their public infra is fine,
and users may want to opt in) but no longer the freshest-install default
for XMR, BTC, or LTC.

XMR: node.sethforprivacy.com:443 (matches newCakeWalletMoneroUri migration
target, so existing users and fresh installs converge on the same node).
BTC: electrum.blockstream.info:50002 (matches newCakeWalletBitcoinUri).
LTC: electrum-ltc.bysh.me:50002 (matches cakeWalletLitecoinElectrumUri).
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.
Delete the WyreBuyProvider + WyreOrderProviderAdapter source files,
strip imports and call sites from buy/order view models and the
buy webview, force isBitcoinBuyEnabled = false in di.dart, and drop
the three wyreSecretKey/wyreApiKey/wyreAccountId entries from
tool/utils/secret_key.dart.

BuyProviderDescription.wyre (raw: 0) is kept as a no-op legacy entry
so any old Hive-persisted order with that raw value still deserializes
without throwing. Don't wire it back to UI/services.
Add CONTRIBUTING.md; fix README prep-script ref
Some checks failed
Hash Wallet Linux build / build (pull_request) Failing after 8m21s
ac7830e181
CONTRIBUTING.md explains the fork relationship, branch model, generated-
code workflow, and what changes we will and won't accept (no re-enabling
Solana/Tron/Zano/Decred/Zcash, no Cake-domain endpoints, no Lightning
yet, no telemetry).

README.md: removed the stale ./scripts/prepare_zcash.sh reference (file
doesn't exist) and added a link to CONTRIBUTING.

.gitignore: untrack docs/UPSTREAM_SYNC.md (internal merge-strategy
playbook, kept locally alongside docs/links.md).
such-gitea merged commit 834c0bd77e into dev 2026-05-17 11:09:19 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Builds/hash-wallet#10