mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
Initial Hash Wallet rebrand from Cake Wallet fork
- Re-enable Wownero and remove the wallet-deprecation popup - Disable Solana, Tron, Zano, Zcash, Decred across all platform configs - Trim swap providers to Trocador-only (its aggregator already covers ChangeNow, FixedFloat, LetsExchange, Exolix, StealthEx, Quantex, +16 more) - Bundle ID com.suchsoftware.hashwallet, display name "Hash Wallet", URL scheme "hashwallet"; Android Java package moved - iOS plist + macOS xcconfig + Windows bat updated - About page and English strings rebranded; new README - Cake Pay verified hidden via existing FeatureFlag.isCakePayEnabled = false
This commit is contained in:
@@ -1,190 +1,79 @@
|
||||
<div align="center">
|
||||
# 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](https://github.com/cake-tech/cake_wallet) maintained by [Such Software LLC](https://github.com/Such-Software).
|
||||
|
||||
</div>
|
||||
## Why a fork?
|
||||
|
||||
<div align="center">
|
||||
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.
|
||||
|
||||
[<img height="42" src=".github/assets/app-store-badge.svg">](https://apps.apple.com/us/app/cake-wallet/id1334702542?platform=iphone)
|
||||
[<img height="42" src=".github/assets/google-play-badge.png">](https://play.google.com/store/apps/details?id=com.cakewallet.cake_wallet)
|
||||
[<img height="42" src=".github/assets/f-droid-badge.png">](https://fdroid.cakelabs.com)
|
||||
[<img height="42" src=".github/assets/mac-store-badge.svg">](https://apps.apple.com/us/app/cake-wallet/id1334702542?platform=mac)
|
||||
[<img height="42" src=".github/assets/linux-badge.svg">](https://github.com/cake-tech/cake_wallet/releases)
|
||||
## Supported chains
|
||||
|
||||
</div>
|
||||
|
||||
# Cake Wallet
|
||||
|
||||
[Cake Wallet](https://cakewallet.com) is an open-source, non-custodial, and private multi-currency crypto wallet for Android, iOS, macOS, and Linux.
|
||||
|
||||
Cake Wallet includes support for several cryptocurrencies, including:
|
||||
* Monero (XMR)
|
||||
* Wownero (WOW)
|
||||
* Bitcoin (BTC)
|
||||
* Ethereum (ETH)
|
||||
* Litecoin (LTC)
|
||||
* Litecoin (LTC), incl. MWEB
|
||||
* Bitcoin Cash (BCH)
|
||||
* Dogecoin (DOGE)
|
||||
* Nano (XNO)
|
||||
* Ethereum (ETH) + ERC-20s
|
||||
* Polygon (POL)
|
||||
* Base (BASE)
|
||||
* Arbitrum (ARB)
|
||||
* Solana (SOL)
|
||||
* Tron (TRX)
|
||||
* Nano (XNO)
|
||||
* Zano (ZANO)
|
||||
* Decred (DCR)
|
||||
* Wownero (WOW)
|
||||
* BNB Smart Chain (BSC)
|
||||
|
||||
## Features
|
||||
Hardware wallet support: Ledger, Trezor, BitBox.
|
||||
|
||||
### App-Wide Features
|
||||
## What's different from Cake Wallet
|
||||
|
||||
* Completely noncustodial. *Your keys, your coins.*
|
||||
* Built-in exchange for dozens of pairs
|
||||
* Easily pay cryptocurrency invoices with fixed rate exchanges
|
||||
* Buy cryptocurrency (BTC/LTC/XMR/ETH) with credit/debit/bank
|
||||
* Sell cryptocurrency by bank transfer
|
||||
* Scan QR codes for easy cryptocurrency transfers
|
||||
* Create several wallets
|
||||
* Select your own custom nodes/servers
|
||||
* Address book
|
||||
* Backup to an external location or iCloud
|
||||
* Send to OpenAlias, Unstoppable Domains, Yats, and FIO Crypto Handles
|
||||
* Set desired network fee level
|
||||
* Store local transaction notes
|
||||
* Extremely simple user experience
|
||||
* Convenient exchange and sending templates for recurring payments
|
||||
* Create donation links and invoices in the receive screen
|
||||
* Robust privacy settings (eg: Tor-only connections)
|
||||
* Robust security settings (eg: Cake 2FA)
|
||||
**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](https://trocador.app), which already aggregates ChangeNow, FixedFloat, LetsExchange, Exolix, StealthEx, Quantex, and ~16 others under one privacy-friendly API
|
||||
|
||||
### Monero Specific Features
|
||||
**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
|
||||
|
||||
* The Monero view key is retained on the device for maximum privacy
|
||||
* Full support for Monero subaddresses and accounts
|
||||
* Specify restore height for faster syncing
|
||||
* Specify multiple recipients for batch sending
|
||||
* Optionally set Monero nodes as trusted for faster syncing
|
||||
* Specify a proxy for Monero nodes, compatible with Tor and i2p
|
||||
## Build instructions
|
||||
|
||||
### Bitcoin Specific Features
|
||||
The build system is unchanged from upstream Cake Wallet. See `docs/` for per-platform instructions:
|
||||
|
||||
* Bitcoin coin control (specify specific outputs to spend)
|
||||
* Automatically generate new addresses
|
||||
* Specify multiple recipients for batch sending
|
||||
* 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`
|
||||
|
||||
### Ethereum Specific Features
|
||||
Required Flutter version is pinned in `Dockerfile` (currently 3.32.0). Before the first `flutter pub get`, you must run the prep scripts to clone external native dependencies:
|
||||
|
||||
* Store ETH and all ERC-20 tokens
|
||||
* Add custom tokens by contract address
|
||||
* Enable or disable Etherscan for transaction history
|
||||
|
||||
### Litecoin Specific Features
|
||||
|
||||
* Litecoin coin control (specify specific outputs to spend)
|
||||
* Automatically generate new addresses
|
||||
* Specify multiple recipients for batch sending
|
||||
|
||||
# Monero.com by Cake Wallet for Android and iOS
|
||||
|
||||
## Open Source Monero-Only Wallet
|
||||
|
||||
*Exchanging to/from other assets is also supported.*
|
||||
|
||||
## Links
|
||||
|
||||
* Website: https://monero.com
|
||||
* App Store (iOS): https://apps.apple.com/app/id1601990386
|
||||
* Google Play: https://play.google.com/store/apps/details?id=com.monero.app
|
||||
* F-Droid: https://fdroid.cakelabs.com
|
||||
* APK: https://github.com/cake-tech/cake_wallet/releases
|
||||
|
||||
### APK Verification
|
||||
|
||||
APK releases on GitHub, Accrescent, and F-Droid use the same key. They can easily be verified using [apksigner](https://developer.android.com/tools/apksigner#options-verify) or [AppVerifier](https://github.com/soupslurpr/AppVerifier).
|
||||
|
||||
See below for Cake Wallet's SHA-256 signing certificate hash:
|
||||
|
||||
```
|
||||
com.cakewallet.cake_wallet
|
||||
C5:40:53:AB:0F:10:D9:54:17:62:A3:DA:76:65:AE:3D:BA:5E:7C:74:3A:B4:F1:08:A5:34:9D:62:AC:10:6E:F5
|
||||
```bash
|
||||
./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).
|
||||
```
|
||||
|
||||
# Support
|
||||
Then run the platform-specific configure script, e.g.:
|
||||
|
||||
We have 24/7 free support. Please contact support@cakewallet.com
|
||||
```bash
|
||||
APP_LINUX_TYPE=cakewallet ./configure_cake_wallet.sh linux
|
||||
```
|
||||
|
||||
We have excellent user guides, which are also open-source and open for contributions: https://docs.cakewallet.com
|
||||
## Contributing
|
||||
|
||||
# Build Instructions
|
||||
Issues and PRs welcome at https://github.com/Such-Software/hash-wallet.
|
||||
|
||||
More instructions to follow
|
||||
## License
|
||||
|
||||
For instructions on how to build for Android: please view file `howto-build-android.md`
|
||||
Hash Wallet is distributed under the [MIT License](LICENSE), inheriting from Cake Wallet.
|
||||
|
||||
# Contributing
|
||||
```
|
||||
Copyright (C) 2018–2023 Cake Labs LLC
|
||||
Copyright (C) 2026 Such Software LLC
|
||||
```
|
||||
|
||||
## Improving translations
|
||||
|
||||
Edit the applicable `strings_XX.arb` file in `res/values/` and open a pull request with the changes.
|
||||
|
||||
## Current list of language files:
|
||||
|
||||
- English
|
||||
- Spanish
|
||||
- French
|
||||
- German
|
||||
- Italian
|
||||
- Portuguese
|
||||
- Dutch
|
||||
- Polish
|
||||
- Croatian
|
||||
- Russian
|
||||
- Ukrainian
|
||||
- Hindi
|
||||
- Japanese
|
||||
- Chinese
|
||||
- Korean
|
||||
- Thai
|
||||
- Arabic
|
||||
- Turkish
|
||||
- Burmese
|
||||
- Urdu
|
||||
- Bulgarian
|
||||
- Czech
|
||||
- Indonesian
|
||||
- Hausa
|
||||
- Yoruba
|
||||
|
||||
## Add a new language
|
||||
|
||||
1. Create a new `strings_XX.arb` file in `res/values/`, replacing XX with the language's [ISO 639-1 code](https://en.wikipedia.org/wiki/ISO_639-1).
|
||||
|
||||
2. Edit the strings in this file, replacing XXX below with the translation for each string.
|
||||
|
||||
`"welcome": "Welcome to",` -> `"welcome": "XXX",`
|
||||
|
||||
3. For strings where there is a variable, denoted by a $ symbol and braces, such as ${status}, the string in braces should not be translated. For example, when editing line 106:
|
||||
|
||||
"time" : "${minutes}m ${seconds}s"
|
||||
|
||||
The only parts to be translated, if needed, are the values m and s after the variables.
|
||||
|
||||
4. Add the language to `lib/entities/language_service.dart` under both `supportedLocales` and `localeCountryCode`. Use the name of the language in the local language and in English in parentheses after for `supportedLocales`. Use the [ISO 3166-1 alpha-3 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) for `localeCountryCode`. You must choose one country, so choose the country with the most native speakers of this language or is otherwise best associated with this language.
|
||||
|
||||
5. Add a relevant flag to `assets/images/flags/XXXX.png`, replacing XXXX with the 3 letters localeCountryCode. The image must be 42x26 pixels with 3 pixels of transparent margin on all 4 sides. You can resize the flag with [paint.net](https://www.getpaint.net/) to 36x20 pixels, expand the canvas to 42x26 pixels with the flag anchored in the middle, and then manually delete the 3 pixels on each side to make it transparent. Or you can use another program like Photoshop.
|
||||
|
||||
6. Add the new language code to `tool/utils/translation/translation_constants.dart`
|
||||
|
||||
## Add a new fiat currency
|
||||
|
||||
1. Check with [Cake Wallet support](https://guides.cakewallet.com) to see if the desired new fiat currency is available through our fiat API. Not all fiat currencies are.
|
||||
|
||||
2. If the currency is associated strongly with a specific issuing country, map the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code with the applicable [ISO 3166-1 alpha-3 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) in `lib/entities/fiat_currency.dart`. If the currency is used in a whole region or organization, then map with a reasonable interpretation of this (eg: eur countryCode for EUR symbol).
|
||||
|
||||
3. Add the raw mapping underneath in `lib/entities/fiat_currency.dart` following the same format as the others.
|
||||
|
||||
4. Add a flag of the issuing country or organization to `assets/images/flags/XXXX.png`, replacing XXXX with the ISO 3166-1 alpha-3 code used above (eg: `usa.png`, `eur.png`). Do not add this if the flag with the same name already exists. The image must be 42x26 pixels with a 3 pixels of transparent margin on all 4 sides.
|
||||
|
||||
---
|
||||
|
||||
Copyright (C) 2018-2023 Cake Labs LLC
|
||||
Cake Wallet, the Cake Wallet logo, and related marks are trademarks of Cake Labs LLC and are not used by Hash Wallet.
|
||||
|
||||
@@ -56,7 +56,7 @@ android {
|
||||
}
|
||||
|
||||
|
||||
namespace "com.cakewallet.cake_wallet"
|
||||
namespace "com.suchsoftware.hashwallet"
|
||||
|
||||
defaultConfig {
|
||||
applicationId appProperties['id']
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.cakewallet.cake_wallet;
|
||||
package com.suchsoftware.hashwallet;
|
||||
|
||||
import io.flutter.app.FlutterApplication;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.cakewallet.cake_wallet;
|
||||
package com.suchsoftware.hashwallet;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
@echo off
|
||||
set cw_win_app_config=--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --solana --tron --dogecoin --base --arbitrum --bsc
|
||||
set cw_win_app_config=--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --wownero --dogecoin --base --arbitrum --bsc
|
||||
set cw_root=%cd%
|
||||
set cw_archive_name=Cake Wallet.zip
|
||||
set cw_archive_path=%cw_root%\%cw_archive_name%
|
||||
|
||||
@@ -65,14 +65,4 @@ class RestoreFromSeedException implements Exception {
|
||||
final String message;
|
||||
|
||||
RestoreFromSeedException(this.message);
|
||||
}
|
||||
|
||||
class WalletDeprecationException implements Exception {
|
||||
final String seed;
|
||||
final CryptoCurrency curr;
|
||||
|
||||
@override
|
||||
String toString() => "Wallet type no longer supported";
|
||||
|
||||
WalletDeprecationException({required this.seed, required this.curr});
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'dart:ffi';
|
||||
import 'dart:io';
|
||||
import 'package:cw_core/exceptions.dart' show WalletDeprecationException;
|
||||
import 'package:cw_core/monero_wallet_utils.dart';
|
||||
import 'package:cw_core/pathForWallet.dart';
|
||||
import 'package:cw_core/unspent_coins_info.dart';
|
||||
@@ -139,7 +138,6 @@ class WowneroWalletService extends WalletService<
|
||||
}
|
||||
|
||||
wallet = WowneroWallet(walletInfo: walletInfo, derivationInfo: await walletInfo.getDerivationInfo(), unspentCoinsInfo: unspentCoinsInfoSource, password: password);
|
||||
throw WalletDeprecationException(seed: wallet.seed, curr: wallet.currency);
|
||||
|
||||
final isValid = wallet.walletAddresses.validate();
|
||||
|
||||
|
||||
@@ -519,7 +519,7 @@
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.1;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.suchsoftware.hashwallet;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
@@ -671,7 +671,7 @@
|
||||
);
|
||||
MARKETING_VERSION = 1.0.1;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.suchsoftware.hashwallet;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
@@ -714,7 +714,7 @@
|
||||
"$(PROJECT_DIR)/Flutter",
|
||||
);
|
||||
MARKETING_VERSION = 1.0.1;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.suchsoftware.hashwallet;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<true/>
|
||||
<key>BGTaskSchedulerPermittedIdentifiers</key>
|
||||
<array>
|
||||
<string>com.fotolockr.cakewallet.monero_sync_task</string>
|
||||
<string>com.suchsoftware.hashwallet.monero_sync_task</string>
|
||||
</array>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Cake Wallet</string>
|
||||
<string>Hash Wallet</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
@@ -19,7 +19,7 @@
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>cake_wallet</string>
|
||||
<string>hash_wallet</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
|
||||
@@ -5,12 +5,10 @@ import 'package:cake_wallet/core/key_service.dart';
|
||||
import 'package:cake_wallet/entities/preferences_key.dart';
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/main.dart';
|
||||
import 'package:cake_wallet/new-ui/widgets/wallet_deprecation_popup.dart';
|
||||
import 'package:cake_wallet/reactions/on_authentication_state_change.dart';
|
||||
import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
|
||||
import 'package:cake_wallet/utils/exception_handler.dart';
|
||||
import 'package:cake_wallet/utils/show_pop_up.dart';
|
||||
import 'package:cw_core/exceptions.dart' show WalletDeprecationException;
|
||||
import 'package:cw_core/utils/print_verbose.dart';
|
||||
import 'package:cw_core/wallet_base.dart';
|
||||
import 'package:cw_core/wallet_info.dart';
|
||||
@@ -75,17 +73,10 @@ class WalletLoadingService {
|
||||
} catch (error, stack) {
|
||||
String corruptedWalletsSeeds = "Corrupted wallets seeds (if retrievable, empty otherwise):";
|
||||
|
||||
if(error is WalletDeprecationException) {
|
||||
if(navigatorKey.currentContext != null) {
|
||||
showModalBottomSheet(
|
||||
context: navigatorKey.currentContext!, builder: (context)=>WalletDeprecationPopup(type: type, seed: error.seed,));
|
||||
}
|
||||
} else {
|
||||
await ExceptionHandler.resetLastPopupDate();
|
||||
final isLedgerError = await ExceptionHandler.isLedgerError(error);
|
||||
if (isLedgerError || await requireHardwareWalletConnection(type, name)) rethrow;
|
||||
await ExceptionHandler.onError(FlutterErrorDetails(exception: error, stack: stack));
|
||||
}
|
||||
await ExceptionHandler.resetLastPopupDate();
|
||||
final isLedgerError = await ExceptionHandler.isLedgerError(error);
|
||||
if (isLedgerError || await requireHardwareWalletConnection(type, name)) rethrow;
|
||||
await ExceptionHandler.onError(FlutterErrorDetails(exception: error, stack: stack));
|
||||
|
||||
// try fetching the seeds of the corrupted wallet to show it to the user
|
||||
try {
|
||||
|
||||
@@ -80,7 +80,7 @@ class _AboutPageState extends State<AboutPage> {
|
||||
spacing: 8,
|
||||
children: [
|
||||
Text(
|
||||
"Cake Wallet",
|
||||
"Hash Wallet",
|
||||
style: TextStyle(fontSize: 32, fontWeight: FontWeight.w500),
|
||||
),
|
||||
Text(widget.appVersion,
|
||||
@@ -107,44 +107,14 @@ class _AboutPageState extends State<AboutPage> {
|
||||
SizedBox(height: 32),
|
||||
NewListSections(sections: {
|
||||
"": [
|
||||
ListItemRegularRow(
|
||||
keyValue: "official website",
|
||||
label: "Official Website",
|
||||
onTap: () => launchUrl(Uri.https("cakewallet.com")),
|
||||
trailingIconPath: "assets/new-ui/link_arrow.svg",
|
||||
foregroundColor: Theme.of(context).colorScheme.primary,
|
||||
trailingIconSize: 10),
|
||||
ListItemRegularRow(
|
||||
keyValue: "docs",
|
||||
label: "Cake Docs",
|
||||
onTap: () => launchUrl(Uri.https("docs.cakewallet.com")),
|
||||
trailingIconPath: "assets/new-ui/link_arrow.svg",
|
||||
foregroundColor: Theme.of(context).colorScheme.primary,
|
||||
trailingIconSize: 10)
|
||||
],
|
||||
"2": [
|
||||
ListItemRegularRow(
|
||||
keyValue: "gh",
|
||||
label: "GitHub",
|
||||
onTap: () => launchUrl(Uri.https("github.com", "cake-tech")),
|
||||
onTap: () => launchUrl(Uri.https("github.com", "Such-Software/hash-wallet")),
|
||||
trailingIconPath: "assets/new-ui/link_arrow.svg",
|
||||
foregroundColor: Theme.of(context).colorScheme.primary,
|
||||
trailingIconSize: 10),
|
||||
ListItemRegularRow(
|
||||
keyValue: "twitter",
|
||||
label: "X (Twitter)",
|
||||
onTap: () => launchUrl(Uri.https("twitter.com", "cakewallet")),
|
||||
trailingIconPath: "assets/new-ui/link_arrow.svg",
|
||||
foregroundColor: Theme.of(context).colorScheme.primary,
|
||||
trailingIconSize: 10),
|
||||
ListItemRegularRow(
|
||||
keyValue: "tg",
|
||||
label: "Telegram",
|
||||
onTap: () => launchUrl(Uri.https("t.me", "cakewallet")),
|
||||
trailingIconPath: "assets/new-ui/link_arrow.svg",
|
||||
foregroundColor: Theme.of(context).colorScheme.primary,
|
||||
trailingIconSize: 10)
|
||||
]
|
||||
],
|
||||
})
|
||||
],
|
||||
)
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
import 'package:cake_wallet/new-ui/widgets/animated_dropdown.dart';
|
||||
import 'package:cake_wallet/new-ui/widgets/new_primary_button.dart';
|
||||
import 'package:cake_wallet/new-ui/widgets/receive_page/receive_top_bar.dart';
|
||||
import 'package:cake_wallet/src/widgets/cake_image_widget.dart';
|
||||
import 'package:cw_core/currency_for_wallet_type.dart';
|
||||
import 'package:cw_core/wallet_type.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class WalletDeprecationPopup extends StatelessWidget {
|
||||
const WalletDeprecationPopup({super.key, required this.type, this.seed});
|
||||
|
||||
final WalletType type;
|
||||
final String? seed;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final curr = walletTypeToCryptoCurrency(type);
|
||||
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.vertical(top: Radius.circular(20)),
|
||||
color: Theme.of(context).colorScheme.surface),
|
||||
child: SafeArea(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
ModalTopBar(
|
||||
title: "",
|
||||
leadingIcon: Icon(Icons.close),
|
||||
onLeadingPressed: Navigator.of(context).pop,
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 12.0),
|
||||
child: Column(
|
||||
spacing: 24,
|
||||
children: [
|
||||
CakeImageWidget(
|
||||
imageUrl: curr.iconPath,
|
||||
width: 64,
|
||||
height: 64,
|
||||
),
|
||||
Text(
|
||||
"${curr.fullName} is no longer supported",
|
||||
style: TextStyle(fontSize: 20, fontWeight: FontWeight.w600),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
Text(
|
||||
"Apologies for the inconvenience.",
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
if (seed != null) ...[
|
||||
Text(
|
||||
"If you need to migrate your seed, you can see it below.",
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
AnimatedDropdown(content: Text(seed!), dropdownText: "Tap to show seed"),
|
||||
],
|
||||
NewPrimaryButton(
|
||||
onPressed: Navigator.of(context).pop,
|
||||
text: "Close",
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
textColor: Theme.of(context).colorScheme.onPrimary),
|
||||
SizedBox()
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -22,8 +22,8 @@ class PackageInfo {
|
||||
buildNumber: packageInfo.buildNumber);
|
||||
}
|
||||
|
||||
static const _defaultCWAppName = 'Cake Wallet';
|
||||
static const _defaultCWAppPackageName = 'com.cakewallet.cake_wallet';
|
||||
static const _defaultCWAppName = 'Hash Wallet';
|
||||
static const _defaultCWAppPackageName = 'com.suchsoftware.hashwallet';
|
||||
static const _defaultCWAppVersion = '1.0.0';
|
||||
static const _defaultCWAppBuildNumber = '1';
|
||||
|
||||
|
||||
@@ -309,18 +309,22 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
|
||||
final TradesStore tradesStore;
|
||||
final SharedPreferences sharedPreferences;
|
||||
|
||||
// Hash Wallet: trimmed to Trocador only. Trocador's aggregator already fronts
|
||||
// ChangeNow, LetsExchange, Exolix, StealthEx, FixedFloat, Quantex, etc.,
|
||||
// letting us collect markup as the affiliate. Re-enable individual providers
|
||||
// here only after registering Such Software affiliate keys per provider.
|
||||
List<ExchangeProvider> get _allProviders => [
|
||||
ChangeNowExchangeProvider(settingsStore: _settingsStore),
|
||||
// ChangeNowExchangeProvider(settingsStore: _settingsStore),
|
||||
// SideShiftExchangeProvider(),
|
||||
ChainflipExchangeProvider(),
|
||||
if (FeatureFlag.isExolixEnabled) ExolixExchangeProvider(),
|
||||
SwapTradeExchangeProvider(),
|
||||
LetsExchangeExchangeProvider(),
|
||||
StealthExExchangeProvider(),
|
||||
XOSwapExchangeProvider(),
|
||||
SwapsXyzExchangeProvider(),
|
||||
JupiterExchangeProvider(),
|
||||
NearIntentsExchangeProvider(),
|
||||
// ChainflipExchangeProvider(),
|
||||
// if (FeatureFlag.isExolixEnabled) ExolixExchangeProvider(),
|
||||
// SwapTradeExchangeProvider(),
|
||||
// LetsExchangeExchangeProvider(),
|
||||
// StealthExExchangeProvider(),
|
||||
// XOSwapExchangeProvider(),
|
||||
// SwapsXyzExchangeProvider(),
|
||||
// JupiterExchangeProvider(),
|
||||
// NearIntentsExchangeProvider(),
|
||||
TrocadorExchangeProvider(
|
||||
useTorOnly: _useTorOnly, providerStates: _settingsStore.trocadorProviderStates),
|
||||
];
|
||||
|
||||
@@ -20,5 +20,5 @@ String get approximatedAppName {
|
||||
return 'Monero.com';
|
||||
}
|
||||
|
||||
return 'Cake Wallet';
|
||||
return 'Hash Wallet';
|
||||
}
|
||||
|
||||
@@ -11,4 +11,4 @@ PRODUCT_NAME = ${PRODUCT_NAME}
|
||||
PRODUCT_BUNDLE_IDENTIFIER = ${PRODUCT_BUNDLE_IDENTIFIER}
|
||||
|
||||
// The copyright displayed in application information
|
||||
PRODUCT_COPYRIGHT = Copyright © 2022 com.fotolockr. All rights reserved.
|
||||
PRODUCT_COPYRIGHT = Copyright © 2026 Such Software LLC. All rights reserved.
|
||||
|
||||
+17
-17
@@ -147,7 +147,7 @@
|
||||
"cake_pay_web_cards_subtitle": "Buy worldwide prepaid cards and gift cards",
|
||||
"cake_pay_web_cards_title": "Cake Pay Web Cards",
|
||||
"cake_seeds_save_disclaimer": "Please save these words in a secure place! You will need these words to restore your wallet on a new device.",
|
||||
"cake_wallet": "Cake Wallet",
|
||||
"cake_wallet": "Hash Wallet",
|
||||
"cakepay_confirm_no_vpn": "I confirm I am not using a Proxy or VPN",
|
||||
"cakepay_confirm_purchase": "Confirm Purchase",
|
||||
"cakepay_confirm_terms_agreed": "I agree to the terms and conditions presented here:",
|
||||
@@ -226,7 +226,7 @@
|
||||
"confirm_fee_deduction_content": "Do you agree to deduct the fee from the output?",
|
||||
"confirm_passphrase": "Confirm passphrase",
|
||||
"confirm_sending": "Confirm sending",
|
||||
"confirm_silent_payments_switch_node": "Your current node does not support Silent Payments.\\n\\nCake Wallet will switch to a compatible node while scanning.",
|
||||
"confirm_silent_payments_switch_node": "Your current node does not support Silent Payments.\\n\\nHash Wallet will switch to a compatible node while scanning.",
|
||||
"confirm_transaction": "Confirm transaction",
|
||||
"confirmations": "Confirmations",
|
||||
"confirmed": "Confirmed Balance",
|
||||
@@ -237,7 +237,7 @@
|
||||
"connect_hw_info_step_1": "Make sure your device is powered ON.",
|
||||
"connect_hw_info_step_2": "Turn Bluetooth on for both devices and pair them from the phone, OR connect your devices together using a USB cable.",
|
||||
"connect_hw_info_step_3": "Unlock your device and navigate to the desired crypto app.",
|
||||
"connect_hw_info_step_4": "Select your device in Cake Wallet and continue with the setup.",
|
||||
"connect_hw_info_step_4": "Select your device in Hash Wallet and continue with the setup.",
|
||||
"connect_yats": "Connect Yats",
|
||||
"connect_your_hardware_wallet": "Connect your hardware wallet using Bluetooth or USB",
|
||||
"connect_your_hardware_wallet_ble": "Connect your hardware wallet using Bluetooth",
|
||||
@@ -440,7 +440,7 @@
|
||||
"evm_ecosystem_description": "If necessary, modify the network and token you would like to use for this payment.",
|
||||
"exchange": "Exchange",
|
||||
"exchange_extra_info": "Please don’t forget to specify the Memo or Extra ID while sending this transaction for the exchange",
|
||||
"exchange_incorrect_current_wallet_for_xmr": "If you want to swap XMR from your Cake Wallet Monero balance, please switch to your Monero wallet first.",
|
||||
"exchange_incorrect_current_wallet_for_xmr": "If you want to swap XMR from your Hash Wallet Monero balance, please switch to your Monero wallet first.",
|
||||
"exchange_new_template": "New template",
|
||||
"exchange_provider_unsupported": "${providerName} is no longer supported!",
|
||||
"exchange_providers": "Exchange Providers",
|
||||
@@ -450,7 +450,7 @@
|
||||
"exchange_result_write_down_ID": "*Please copy or write down your ID shown above.",
|
||||
"exchange_result_write_down_trade_id": "Please copy or write down the trade ID to continue.",
|
||||
"exchange_sync_alert_content": "Please wait until your wallet is synchronized",
|
||||
"exchange_trade_result_confirm": "By pressing send from Cake Wallet, you will be sending ${fetchingLabel} ${from} from your wallet called ${walletName} to the address shown below. Or you can send from your external wallet to the address/QR code on the send from external wallet details page.\n\nPlease press either of the buttons to continue or go back to change the amounts.",
|
||||
"exchange_trade_result_confirm": "By pressing send from Hash Wallet, you will be sending ${fetchingLabel} ${from} from your wallet called ${walletName} to the address shown below. Or you can send from your external wallet to the address/QR code on the send from external wallet details page.\n\nPlease press either of the buttons to continue or go back to change the amounts.",
|
||||
"expired": "Expired",
|
||||
"expires": "Expires",
|
||||
"expiresOn": "Expires on",
|
||||
@@ -513,7 +513,7 @@
|
||||
"got_it": "Got it",
|
||||
"gross_balance": "Gross Balance",
|
||||
"group_by_type": "Group by type",
|
||||
"haven_app": "Haven by Cake Wallet",
|
||||
"haven_app": "Haven by Hash Wallet",
|
||||
"haven_app_wallet_text": "Awesome wallet for Haven",
|
||||
"help": "help",
|
||||
"hidden_addresses": "Hidden Addresses",
|
||||
@@ -629,7 +629,7 @@
|
||||
"minutes_to_pin_code": "${minute} minutes",
|
||||
"mm": "MM",
|
||||
"modify_2fa": "Modify Cake 2FA",
|
||||
"monero_com": "Monero.com by Cake Wallet",
|
||||
"monero_com": "Monero.com by Hash Wallet",
|
||||
"monero_com_wallet_text": "Awesome wallet for Monero",
|
||||
"monero_dark_theme": "Monero Dark Theme",
|
||||
"monero_light_theme": "Monero Light Theme",
|
||||
@@ -756,7 +756,7 @@
|
||||
"potential_scam": "Potential Scam",
|
||||
"powered_by": "Powered by ${title}",
|
||||
"pre_seed_button_text": "I understand. Show me my seed",
|
||||
"pre_seed_description": "On the next page you will see a series of words. This is your unique and private seed and it is the ONLY way to recover your wallet in case of loss or malfunction. It is YOUR responsibility to write it down and store it in a safe place outside of the Cake Wallet app.",
|
||||
"pre_seed_description": "On the next page you will see a series of words. This is your unique and private seed and it is the ONLY way to recover your wallet in case of loss or malfunction. It is YOUR responsibility to write it down and store it in a safe place outside of the Hash Wallet app.",
|
||||
"pre_seed_title": "IMPORTANT",
|
||||
"preference": "Preference",
|
||||
"prepaid_cards": "Prepaid Cards",
|
||||
@@ -840,7 +840,7 @@
|
||||
"restore_bitcoin_description_from_keys": "Restore your wallet from generated WIF string from your private keys",
|
||||
"restore_bitcoin_description_from_seed": "Restore your wallet from 24 word combination code",
|
||||
"restore_bitcoin_title_from_keys": "Restore from WIF",
|
||||
"restore_description_from_backup": "Get Cake Wallet back exactly as you had it by restoring from a backup file.",
|
||||
"restore_description_from_backup": "Get Hash Wallet back exactly as you had it by restoring from a backup file.",
|
||||
"restore_description_from_cupcake": "Link with our companion air-gapped app, installed on a second phone.",
|
||||
"restore_description_from_hardware_wallet": "Link your hardware wallet device from a variety of manufacturers.",
|
||||
"restore_description_from_keys": "Restore your wallet from generated keystrokes saved from your private keys",
|
||||
@@ -958,7 +958,7 @@
|
||||
"send_external_desc": "Don't close this page until you send the funds, or else the deposit won't proceed.",
|
||||
"send_fee": "Fee:",
|
||||
"send_from": "Send from",
|
||||
"send_from_cake_wallet": "Send from Cake Wallet",
|
||||
"send_from_cake_wallet": "Send from Hash Wallet",
|
||||
"send_from_external": "Send from External",
|
||||
"send_from_external_wallet": "Send from External Wallet",
|
||||
"send_name": "Name",
|
||||
@@ -1083,7 +1083,7 @@
|
||||
"support_description_guides": "Documentation and support for common issues",
|
||||
"support_description_live_chat": "Free and fast! Trained support representatives are available to assist",
|
||||
"support_description_other_links": "Join our communities or reach us or our partners through other methods",
|
||||
"support_title_guides": "Cake Wallet docs",
|
||||
"support_title_guides": "Hash Wallet docs",
|
||||
"support_title_live_chat": "Live support",
|
||||
"support_title_other_links": "Other support links",
|
||||
"supported": "Supported",
|
||||
@@ -1132,7 +1132,7 @@
|
||||
"template": "Template",
|
||||
"template_name": "Template Name",
|
||||
"testnet_coins_no_value": "Testnet coins have no value",
|
||||
"third_intro_content": "Yats live outside of Cake Wallet, too. Any wallet address on earth can be replaced with a Yat!",
|
||||
"third_intro_content": "Yats live outside of Hash Wallet, too. Any wallet address on earth can be replaced with a Yat!",
|
||||
"third_intro_title": "Yat plays nicely with others",
|
||||
"this_pair_is_not_supported_warning": "This pair is not supported with the currently selected exchange(s). Please select another exchange.",
|
||||
"thorchain_contract_address_not_supported": "THORChain does not support sending to a contract address",
|
||||
@@ -1152,7 +1152,7 @@
|
||||
"tokens_strong_warning": "Never send tokens to this address!",
|
||||
"tor_connection": "Tor connection",
|
||||
"tor_connection_timeout": "Tor connection timeout",
|
||||
"tor_experimental": "This is an experimental feature, not all connections made from Cake Wallet support Tor routing - some connections may use clearnet, in order to fully route app traffic use Tor with VPN mode.",
|
||||
"tor_experimental": "This is an experimental feature, not all connections made from Hash Wallet support Tor routing - some connections may use clearnet, in order to fully route app traffic use Tor with VPN mode.",
|
||||
"tor_only": "Tor only",
|
||||
"total": "Total",
|
||||
"total_saving": "Total Savings",
|
||||
@@ -1302,7 +1302,7 @@
|
||||
"wallet_group": "Wallet Group",
|
||||
"wallet_group_description_existing_seed": "You’ve chosen to use an existing seed for this wallet. You may verify the seed again if you need to confirm or write it down.",
|
||||
"wallet_group_description_four": "to create a wallet with an entirely new seed.",
|
||||
"wallet_group_description_one": "In Cake Wallet, you can create a",
|
||||
"wallet_group_description_one": "In Hash Wallet, you can create a",
|
||||
"wallet_group_description_open_wallet": "Otherwise, you can continue to open the wallet",
|
||||
"wallet_group_description_three": "to see the available wallets and/or wallet groups screen. Or choose",
|
||||
"wallet_group_description_two": "by selecting an existing wallet to share a seed with. Each wallet group can contain a single wallet of each currency type.\n\nYou can select",
|
||||
@@ -1358,11 +1358,11 @@
|
||||
"xmr_to_error_description": "Invalid amount. Maximum limit 8 digits after the decimal point",
|
||||
"yat": "Yat",
|
||||
"yat_address": "Yat Address",
|
||||
"yat_alert_content": "Cake Wallet users can now send and receive all their favorite currencies with a one-of-a-kind emoji-based username.",
|
||||
"yat_alert_content": "Hash Wallet users can now send and receive all their favorite currencies with a one-of-a-kind emoji-based username.",
|
||||
"yat_alert_title": "Send and receive crypto more easily with Yat",
|
||||
"yat_error": "Yat error",
|
||||
"yat_error_content": "No addresses linked with this Yat. Try another Yat",
|
||||
"yat_popup_content": "You can now send and receive crypto in Cake Wallet with your Yat - a short, emoji-based username. Manage Yats at any time on the settings screen",
|
||||
"yat_popup_content": "You can now send and receive crypto in Hash Wallet with your Yat - a short, emoji-based username. Manage Yats at any time on the settings screen",
|
||||
"yat_popup_title": "Your wallet address can be emojified.",
|
||||
"yes": "Yes",
|
||||
"yesterday": "Yesterday",
|
||||
@@ -1374,7 +1374,7 @@
|
||||
"youCanGoBackToYourDapp": "You can go back to your dApp now",
|
||||
"your": "Your",
|
||||
"yy": "YY",
|
||||
"zcash_card_description": "If you don't see your full balance Cake Wallet can attempt to sweep funds from internal change addresses used by some wallets.",
|
||||
"zcash_card_description": "If you don't see your full balance Hash Wallet can attempt to sweep funds from internal change addresses used by some wallets.",
|
||||
"zcash_card_dismiss": "Dismiss",
|
||||
"zcash_card_enable_later": "You can always enable this card later in settings",
|
||||
"zcash_card_missing_funds": "Missing funds?",
|
||||
|
||||
@@ -20,12 +20,12 @@ MONERO_COM_BUNDLE_ID="com.monero.app"
|
||||
MONERO_COM_PACKAGE="com.monero.app"
|
||||
MONERO_COM_SCHEME="monero.com"
|
||||
|
||||
CAKEWALLET_NAME="Cake Wallet"
|
||||
CAKEWALLET_NAME="Hash Wallet"
|
||||
CAKEWALLET_VERSION="6.1.2"
|
||||
CAKEWALLET_BUILD_NUMBER=4410
|
||||
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
|
||||
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
|
||||
CAKEWALLET_SCHEME="cakewallet"
|
||||
CAKEWALLET_BUNDLE_ID="com.suchsoftware.hashwallet"
|
||||
CAKEWALLET_PACKAGE="com.suchsoftware.hashwallet"
|
||||
CAKEWALLET_SCHEME="hashwallet"
|
||||
|
||||
|
||||
if ! [[ " ${TYPES[*]} " =~ " ${APP_ANDROID_TYPE} " ]]; then
|
||||
|
||||
@@ -10,7 +10,7 @@ case $APP_ANDROID_TYPE in
|
||||
CONFIG_ARGS="--monero"
|
||||
;;
|
||||
$CAKEWALLET)
|
||||
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --solana --tron --wownero --zano --decred --dogecoin --base --zcash --arbitrum --bsc"
|
||||
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --wownero --dogecoin --base --arbitrum --bsc"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ case $APP_IOS_TYPE in
|
||||
;;
|
||||
|
||||
$CAKEWALLET)
|
||||
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --solana --tron --wownero --zano --decred --dogecoin --base --zcash --arbitrum --bsc"
|
||||
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --wownero --dogecoin --base --arbitrum --bsc"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -16,10 +16,10 @@ MONERO_COM_VERSION="6.1.2"
|
||||
MONERO_COM_BUILD_NUMBER=163
|
||||
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
|
||||
|
||||
CAKEWALLET_NAME="Cake Wallet"
|
||||
CAKEWALLET_NAME="Hash Wallet"
|
||||
CAKEWALLET_VERSION="6.1.2"
|
||||
CAKEWALLET_BUILD_NUMBER=418
|
||||
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
|
||||
CAKEWALLET_BUNDLE_ID="com.suchsoftware.hashwallet"
|
||||
|
||||
|
||||
if ! [[ " ${TYPES[*]} " =~ " ${APP_IOS_TYPE} " ]]; then
|
||||
|
||||
@@ -13,7 +13,7 @@ CONFIG_ARGS=""
|
||||
|
||||
case $APP_LINUX_TYPE in
|
||||
$CAKEWALLET)
|
||||
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --solana --tron --wownero --dogecoin --base --arbitrum --bsc --excludeFlutterSecureStorage";;
|
||||
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --wownero --dogecoin --base --arbitrum --bsc --excludeFlutterSecureStorage";;
|
||||
esac
|
||||
|
||||
cp -rf pubspec_description.yaml pubspec.yaml
|
||||
|
||||
@@ -13,7 +13,7 @@ if [ -n "$1" ]; then
|
||||
APP_LINUX_TYPE=$1
|
||||
fi
|
||||
|
||||
CAKEWALLET_NAME="Cake Wallet"
|
||||
CAKEWALLET_NAME="Hash Wallet"
|
||||
CAKEWALLET_VERSION="6.1.0"
|
||||
CAKEWALLET_BUILD_NUMBER=79
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ case $APP_MACOS_TYPE in
|
||||
$MONERO_COM)
|
||||
CONFIG_ARGS="--monero";;
|
||||
$CAKEWALLET)
|
||||
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --solana --tron --wownero --dogecoin --base --arbitrum --bsc";;
|
||||
CONFIG_ARGS="--monero --bitcoin --ethereum --polygon --nano --bitcoinCash --wownero --dogecoin --base --arbitrum --bsc";;
|
||||
esac
|
||||
|
||||
cp -rf pubspec_description.yaml pubspec.yaml
|
||||
|
||||
@@ -20,10 +20,10 @@ MONERO_COM_VERSION="6.1.0"
|
||||
MONERO_COM_BUILD_NUMBER=79
|
||||
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
|
||||
|
||||
CAKEWALLET_NAME="Cake Wallet"
|
||||
CAKEWALLET_NAME="Hash Wallet"
|
||||
CAKEWALLET_VERSION="6.1.0"
|
||||
CAKEWALLET_BUILD_NUMBER=147
|
||||
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
|
||||
CAKEWALLET_BUNDLE_ID="com.suchsoftware.hashwallet"
|
||||
|
||||
if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then
|
||||
echo "Wrong app type."
|
||||
|
||||
+3
-3
@@ -2024,9 +2024,9 @@ Future<void> generateWalletTypes({
|
||||
outputContent += '\tWalletType.banano,\n';
|
||||
}
|
||||
|
||||
// if (hasWownero) {
|
||||
// outputContent += '\tWalletType.wownero,\n';
|
||||
// }
|
||||
if (hasWownero) {
|
||||
outputContent += '\tWalletType.wownero,\n';
|
||||
}
|
||||
|
||||
outputContent += '];\n';
|
||||
await walletTypesFile.writeAsString(outputContent);
|
||||
|
||||
Reference in New Issue
Block a user