The first macOS run died after 88 seconds on `cd scripts/monero_c: No such file
or directory`. That was the cheap failure. The workflow had been written fresh
rather than ported, and behind that missing clone it had also skipped the step
that pins the crypto salts. Had it got further it would have shipped a build
that mints random salts, which is the 2026-08-29 corrupted-seeds incident on a
new platform: wallets created on it would not decrypt after the next upgrade.
So the prerequisites are now ported step for step from build-linux.yml, the
desktop build known to pass: torch_dart, reown_flutter, bitbox (the Apple
variant, without the gomobile Android bindings), prepare_moneroc.sh, configure,
secrets generation, salt pinning with the same refusal, Trocador injection,
codegen, localization, and compile_graphics.sh. curl for wget and BSD sed's
-i.bak form, because the runner is a Mac.
Two more things the fresh version got wrong, found while porting:
configure was run without sourcing app_env.sh, and app_config.sh writes
CFBundleName, the bundle id and the version into Info.plist from variables only
app_env.sh sets. The app would have shipped with an empty name. The step now
prints the three values it wrote.
And app_env.sh hardcoded 1.0.0 (1) on macOS, 6.1.0 (79) on Linux and 1.9.0 (29)
in the fish variant, the last two being Cake Wallet's own version numbers. On
macOS PlistBuddy writes that into the bundle, so every macOS build would have
called itself 1.0.0. Linux only escaped because its substitution looks for a
version: 0.0.0 placeholder that pubspec_description.yaml does not contain. All
three now derive from pubspec_description.yaml the way Android already does, and
the two sh variants resolve to 1.0.4 (14). The fish one is unverified: fish is
not installed here and CI does not use it.
Separately, four workflows verified their secret injection by grepping
lib/.secrets.g.dart into the log, which prints the values. Android's printed the
Trocador, WalletConnect, MoonPay and exchange-helper keys. Gitea likely masks
registered secrets, but masking is a best-effort layer and values never belong
in output. Each now reports every key's name and length and nothing else.
Windows is not in this commit. Its run refused correctly, on the guard added in
c11c79b0c: the runner has Flutter 3.38.5, not the pinned 3.32.0. That is fixed on
the runner, not in the workflow.
Cake Wallet → Hash Bags / Such Software LLC across the user-facing
platform configs:
- macos/Runner/InfoBase.plist: CFBundleDisplayName + CFBundleName
- windows/runner/main.cpp: top-level window title
- ios/Runner/InfoBase.plist: URL scheme cakewallet → hashbags,
CFBundleURLName y.at → com.suchsoftware.hashwallet
- android/app/src/main/AndroidManifestBase.xml: URL scheme
- scripts/windows/build_exe_installer.iss: full rebrand (name,
publisher, URL, exe name, AppId, DefaultDirName, output filename)
- assets/text/disclaimer_deuro.txt: legal disclaimer text
Version unification → 1.0.0 build 1 across all platforms:
- pubspec_description.yaml (was 0.0.0, description was "Cake Wallet.")
- scripts/android/app_env.sh (was 6.1.2 build 4410)
- scripts/ios/app_env.sh (was 6.1.2 build 418)
- scripts/macos/app_env.sh (was 6.1.0 build 147)
- scripts/windows/build_exe_installer.iss (was 6.1.0)
env.json (Windows) was already 1.0.0.
FAQ contact info → support@such.software / @such_software across all
13 locale faq_*.json files (was support@cakewallet.com /
@CakeWalletXMR / @cakewallet_bot).
Node lists:
- Delete assets/zano_node_list.yml — Zano not enabled in any
configure flag; file was dead code.
- Remove zcashDefaultNodeUri const from
lib/entities/default_settings_migration.dart — Zcash not in
product, const was unreferenced anywhere.
Note on BTC + LTC defaults: audit suggested these were Cake-by-default
but they were already non-Cake (blockstream and electrum-ltc.bysh.me).
Cake stays in the auto-switch pool — flagged for separate decision on
whether to disable auto-switching to Cake nodes for privacy.
Avoids any confusion / potential trademark friction with HashWallet
(Spanish hardware-wallet company). Hash Bags is a more distinctive
name, harder to collide with, and we can still rank for 'hash wallet'
search via App Store / Play Store subtitle ('Hash Bags - A Wallet
for your Coins').
What changed (all user-visible strings):
- Launcher labels: android/app.properties, scripts/android/app_env.sh,
scripts/ios/app_env.sh, linux window title (CMakeLists +
my_application.cc)
- In-app text: lib/generated/i18n.dart + ARB sources under res/values/
- Brand docs: README.md, CONTRIBUTING.md, PRIVACY.md,
assets/text/Terms_of_Use.txt, assets/text/Release_Notes.txt
- hash.boats website: index.html, og-image.svg + regen og-image.png,
site.webmanifest, styles.css comment, splash/confirm/pulse/mark/
lockup svg titles, report/index.html, server/server.js
- CI workflow display names ("Hash Bags Linux build", etc.)
What did NOT change (deliberate):
- Bundle ID / Package: com.suchsoftware.hashwallet (immutable app
identity on App Store + Play Store — changing == orphaning the app)
- Binary name: hash_wallet (Linux executable)
- Dart import paths: package:hash_wallet/...
- Git repo: hash-wallet (Such-Software/hash-wallet)
- URL scheme: hashwallet:// (internal deep links)
- support@such.software (no domain change yet)
- App Store / Play Store listing names (whatever was registered there
stays; we updated launcher label only)
- hash.boats domain (still the wallet site)
Also kept the '#ash Wallet' wordplay in the nav but updated to
'#ash Bags' so the # mark still serves as the H. Nav reads:
[# mark] #ash Bags
Website hero tagline now matches the App Store sub-title concept:
'A wallet for your coins. Open-source, non-custodial, multi-chain.
Privacy-leaning by default.'
108 files modified, ~674 string replacements.
* v6.1.0 Release Candidate
* add copy indicator on tx details screen (#3152)
* initial remove wownero (#3180)
* fix: minor fix to the backupSeeds (#3181)
* add isSensitive to copy indicator (#3183)
* add copy indicator on tx details screen
* add isSensitive field
* fix: add "support for coin removed" to exception handler ignored list (#3182)
* CW-1273: Implement USDT0 Bridge (#2855)
* feat: Implement USDT0 Bridging using OFT Standard by Layer Zero. POC available in apps menu.
* feat: Implement USDT0 Bridging using OFT Standard by Layer Zero. POC available in apps menu.
* feat: Implement USDT0 Bridging using OFT Standard by Layer Zero. POC available in apps menu.
* Add transaction history and status polling for USDT0 bridging
* Add Transaction history and status polling for USDT0 Bridging
* USDT0 Bridging Implementation
* Update Arbitrum USDT token symbol
* fix: Merge conflicts
* fix: Merge conflicts
* chore: Rever formatting
* feat: Implement new flow
* feat: Implement new ui flow
* Add currency to configure
* feat: new ui flow
* Update USDT0 implementation
- Switch to sqlite for storage instead of hive
- Switch bridge history and details to modals
- Switch bridge transfer details page to new tx details ui
* refactor: rearrange modal action buttons
* enhance usdt0 bridge flows
* Update lib/entities/wallet_manager.dart [skip ci]
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* v6.1.0 Release Candidate
* fix lag on saving frozen coin status (#3164)
* fix lag on saving frozen coin status
* wrap saveUnspentCoinInfo in @action
* revert fix + safeguard coin control page
* v6.1.0 Release Candidate
* v6.1.0 Release Candidate [skip ci]
* v6.1.0 Release Candidate [skip ci]
---------
Co-authored-by: malik1004x <malikowskirobert@gmail.com>
Co-authored-by: cyan <cyjan@mrcyjanek.net>
Co-authored-by: David Adegoke <64401859+Blazebrain@users.noreply.github.com>
* feat(zcash): initial commit
- initial work on cw_zcash
- use single .db for everything zcash to speed up sync and scanning
- implement silent autoshielding of non-orchard funds
- use FFI for everything to fetch the data
- add support for passphrase by adding extra word to seed phrase
- enforce lints on CI for cw_zcash directory
- use correct zcash name, and call transparent zcash tZEC
- minor cleanups outsite of cw_zcash
- gitmodules, gitignore
- db debug
- fix broken addressPageType in WalletInfo
- enable debug options in kDebugMode and kProfileMode
* feat: T address rotation (and cache) wip: minor fixes
* wip: shield tx list
* fix fiat amounts fix derrivation of rotation account addresses screen
for zcash block height fix T address shields improvements Amount in
disposable T shields UI improvements
show pending outgoing tx in tx history
* fix null check on passphrase page fix tx showing as pending rename auto
shield txs fixed send all to include fee use rotating address in
addressForExchange wrap all calls of WarpApi.getLatestHeight in try
catch to prevent leaking errors
other minor fixes from notion
* wallet group debug cache sent tx address wallet T address rotation fixes
automatically pick the fee for auto-shield
* fix T address cache deserialization fix autoshield icon fix autoshield
text getCachedDestinationAddress fix send address cache
* address comments from review
* wip: iOS fix
* fix swap
* Allow cakepay payment from zcash wallet
* fix: ios (I'm stupid) fix: reorder addresses to make orchard default
fix: send all balance
* 5.6.6 bump fix: ios apple review add transport error to ignored
exceptions
* fix: leaving dust behind when sweeping all
* Change wallets order
* fix: reflect balance of pending out txs fix: restore height support
* linux support (disabled)
* fix: date picker for zcash on restore screen fix: build script for linux
match WarpApi.warpSync args with upstream
* fix: linter script
* ensure all exchange providers support ZEC (#2802)
* ensure all exchange providers support ZEC
* remove zaddr and tzec currencies and refactor providers
* Update lib/exchange/provider/near_Intents_exchange_provider.dart
* add back old zcash currencies for backward compatibility, thanks Czarek
* minor fix [skip ci]
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update android/app/src/main/AndroidManifestBase.xml [skip ci]
* Update ios/Runner/InfoBase.plist [skip ci]
* fix: remove unused code fix: macos fix: disable on linux and macos
* update build numbers [skip ci]
* Add zcash to birdpay
---------
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: Serhii <borodenko.sv@gmail.com>
* v5.6.0 Early RC
- EVM enhancements and fee corrections
- Auto node switching enhancements
- Pay anything enhancements
- Sync bar ETA enhancements
- Solana fixes
* prevent multiple creation of wallets by spam tapping the button
* Last RC :3
Improve wallets performance
Litecoin and MWEB support in Cupcake
Ethereum and EVM chains enhancements
Improved EVM fee estimation
Improvements for AnyPay
Better automatic node switching
New navbar/tab navigation
WalletConnect enhancements
Add Dark and tintable app icons
Bug fixes
* fix: properly prevent create function from being called multiple times at once (#2679)
---------
Co-authored-by: cyan <cyjan@mrcyjanek.net>