diff --git a/assets/images/monerocom_logo.svg b/assets/images/monerocom_logo.svg
new file mode 100644
index 000000000..76c8be604
--- /dev/null
+++ b/assets/images/monerocom_logo.svg
@@ -0,0 +1,25 @@
+
diff --git a/assets/new-ui/changelog/text/changelog_en.json b/assets/new-ui/changelog/text/changelog_en.json
index 7beb53769..e7fa347b1 100644
--- a/assets/new-ui/changelog/text/changelog_en.json
+++ b/assets/new-ui/changelog/text/changelog_en.json
@@ -1,10 +1,18 @@
[
{
- "title": "Monero improvements",
- "description": "Sync progress keeps moving while your wallet warms up, so you always know where it stands"
+ "title": "Robinhood Chain",
+ "description": "Create Robinhood Chain wallets to send, receive and swap, with USDG and more tokens built in"
},
{
- "title": "Bug fixes",
- "description": "Contact syncing, node selection, Cake Pay sign-in and more, all squashed"
+ "title": "Price Charts",
+ "description": "A new Charts tab to keep an eye on the prices of your assets"
+ },
+ {
+ "title": "Bitcoin Accounts & Faster Sync",
+ "description": "Split your Bitcoin wallet into multiple accounts, and get up to date faster while history loads in the background"
+ },
+ {
+ "title": "Bug fixes & improvements",
+ "description": "Lightning amounts in sats, more Tor nodes, Monero core update, smoother Bitcoin wallets and more"
}
-]
+]
\ No newline at end of file
diff --git a/assets/new-ui/changelog/text/monerocom_changelog_en.json b/assets/new-ui/changelog/text/monerocom_changelog_en.json
new file mode 100644
index 000000000..90292d3d3
--- /dev/null
+++ b/assets/new-ui/changelog/text/monerocom_changelog_en.json
@@ -0,0 +1,14 @@
+[
+ {
+ "title": "Safer sends",
+ "description": "Payments that would be split into several transactions are now stopped before sending"
+ },
+ {
+ "title": "Price Charts",
+ "description": "A new Charts tab to keep an eye on prices"
+ },
+ {
+ "title": "Bug fixes & improvements",
+ "description": "New Cake Tor node, restore height filled in on Rescan, and more"
+ }
+]
diff --git a/cw_core/lib/db/sqlite.dart b/cw_core/lib/db/sqlite.dart
index f1ba1d103..77c38b599 100644
--- a/cw_core/lib/db/sqlite.dart
+++ b/cw_core/lib/db/sqlite.dart
@@ -66,7 +66,7 @@ Future _initDb({String? pathOverride}) async {
await db?.close();
db = await openDatabase(
dbFile.path,
- version: 15,
+ version: 14,
onUpgrade: (db, oldVersion, newVersion) async {
printV("migrating: $oldVersion, $newVersion");
if (oldVersion <= 1) {
@@ -193,9 +193,6 @@ CREATE TABLE IF NOT EXISTS BalanceCardStyleSettings (
await _migrateBitcoinCardStylesForAccounts(db);
}
- if(oldVersion <= 14) {
- await _createDeprecatedWalletSeedTable(db);
- }
},
onCreate: (Database db, int version) async {
await db.execute('''
@@ -302,8 +299,6 @@ CREATE TABLE BalanceCardStyleSettings (
await _createTronTokenTable(db);
await _createImportedNFTTable(db);
await _createWalletInfoAccountTable(db);
- await _createDeprecatedWalletSeedTable(db);
-
},
);
}
@@ -594,15 +589,3 @@ isDefault BOOLEAN DEFAULT FALSE
);
""");
}
-
-
-Future _createDeprecatedWalletSeedTable(Database db) async {
- await db.execute("""
-CREATE TABLE DeprecatedWalletSeeds (
-walletInfoId INTEGER PRIMARY KEY,
-seed TEXT NOT NULL,
-passphrase TEXT NOT NULL,
-FOREIGN KEY (walletInfoId) REFERENCES WalletInfo(walletInfoId)
-);
-""");
-}
diff --git a/cw_evm/lib/clients/evm_chain_client.dart b/cw_evm/lib/clients/evm_chain_client.dart
index 1d5651294..02641a00a 100644
--- a/cw_evm/lib/clients/evm_chain_client.dart
+++ b/cw_evm/lib/clients/evm_chain_client.dart
@@ -192,7 +192,7 @@ class EVMChainClient {
} else if (nodeHost.endsWith(".g.alchemy.com") &&
(pathSegments.isEmpty || (pathSegments.length == 1 && pathSegments.first == "v2"))) {
isModifiedNodeUri = true;
- String alchemyApiKey = secrets.alchemyApiKey;
+ String alchemyApiKey = "";
if (alchemyApiKey.isEmpty) {
printV("Alchemy API key is empty, cannot connect to ${node.uriRaw}");
diff --git a/cw_monero/pubspec.yaml b/cw_monero/pubspec.yaml
index 2f82f5726..a3638dff8 100644
--- a/cw_monero/pubspec.yaml
+++ b/cw_monero/pubspec.yaml
@@ -26,7 +26,7 @@ dependencies:
monero:
git:
url: https://github.com/mrcyjanek/monero_c.git
- ref: cd4fe366cc8d3c188c91de279f43b29c0e044b15
+ ref: 33671871de3d51696b66ffb3bd94f744e26974f6
path: impls/monero.dart
mutex: ^3.1.0
ledger_flutter_plus: ^1.4.1
diff --git a/cw_wownero/pubspec.yaml b/cw_wownero/pubspec.yaml
index da8f90997..354bfddd8 100644
--- a/cw_wownero/pubspec.yaml
+++ b/cw_wownero/pubspec.yaml
@@ -24,7 +24,7 @@ dependencies:
monero:
git:
url: https://github.com/mrcyjanek/monero_c.git
- ref: cd4fe366cc8d3c188c91de279f43b29c0e044b15
+ ref: 33671871de3d51696b66ffb3bd94f744e26974f6
path: impls/monero.dart
mutex: ^3.1.0
diff --git a/cw_zano/pubspec.yaml b/cw_zano/pubspec.yaml
index 63711349c..c43a9155a 100644
--- a/cw_zano/pubspec.yaml
+++ b/cw_zano/pubspec.yaml
@@ -27,7 +27,7 @@ dependencies:
monero:
git:
url: https://github.com/mrcyjanek/monero_c.git
- ref: cd4fe366cc8d3c188c91de279f43b29c0e044b15
+ ref: 33671871de3d51696b66ffb3bd94f744e26974f6
path: impls/monero.dart
dev_dependencies:
flutter_test:
diff --git a/lib/bitcoin/cw_bitcoin.dart b/lib/bitcoin/cw_bitcoin.dart
index a16770b37..a9687c824 100644
--- a/lib/bitcoin/cw_bitcoin.dart
+++ b/lib/bitcoin/cw_bitcoin.dart
@@ -924,7 +924,7 @@ class CWBitcoin extends Bitcoin {
}
@override
- ElectrumBalance balanceForAccount(Object wallet, int accountIndex) {
+ Balance balanceForAccount(Object wallet, int accountIndex) {
final bitcoinWallet = wallet as ElectrumWallet;
return bitcoinWallet.balanceForAccount(accountIndex);
}
diff --git a/lib/entities/default_settings_migration.dart b/lib/entities/default_settings_migration.dart
index 4f1225ca4..bce99de1b 100644
--- a/lib/entities/default_settings_migration.dart
+++ b/lib/entities/default_settings_migration.dart
@@ -2,10 +2,7 @@ import 'dart:convert';
import 'dart:io' show Directory, File, Platform;
import 'package:cake_wallet/bitcoin/bitcoin.dart';
-import "package:cake_wallet/core/key_service.dart";
import 'package:cake_wallet/core/secure_storage.dart';
-import "package:cake_wallet/decred/decred.dart";
-import "package:cake_wallet/di.dart";
import 'package:cake_wallet/entities/balance_display_mode.dart';
import 'package:cake_wallet/entities/contact.dart';
import 'package:cake_wallet/entities/exchange_api_mode.dart';
@@ -17,9 +14,6 @@ import 'package:cake_wallet/entities/preferences_key.dart';
import 'package:cake_wallet/entities/secret_store_key.dart';
import 'package:cake_wallet/monero/monero.dart';
import 'package:cake_wallet/new-ui/model/charts/charts_asset.dart';
-import "package:cake_wallet/store/settings_store.dart";
-import "package:cake_wallet/zano/zano.dart";
-import "package:cw_core/cake_hive.dart";
import 'package:cake_wallet/wownero/wownero.dart';
import 'package:collection/collection.dart';
import 'package:cw_core/crypto_currency.dart';
@@ -29,10 +23,8 @@ import 'package:cw_core/node_list.dart';
import 'package:cw_core/pathForWallet.dart';
import 'package:cw_core/root_dir.dart';
import 'package:cw_core/spl_token.dart';
-import "package:cw_core/unspent_coins_info.dart";
import 'package:cw_core/utils/print_verbose.dart';
import 'package:cw_core/wallet_info.dart';
-import "package:cw_core/wallet_service.dart";
import 'package:cw_core/wallet_type.dart';
import 'package:encrypt/encrypt.dart' as encrypt;
import 'package:hive/hive.dart';
diff --git a/lib/exchange/provider/swaptrade_exchange_provider.dart b/lib/exchange/provider/swaptrade_exchange_provider.dart
index d67dfde1a..5c3ffc0f9 100644
--- a/lib/exchange/provider/swaptrade_exchange_provider.dart
+++ b/lib/exchange/provider/swaptrade_exchange_provider.dart
@@ -415,13 +415,26 @@ class SwapTradeExchangeProvider extends ExchangeProvider {
bool _isPairSupported(CryptoCurrency from, CryptoCurrency to) =>
_networkFor(from) != null && _networkFor(to) != null;
- String? _networkFor(CryptoCurrency currency) =>
- switch ((currency.title.toUpperCase(), currency.tag?.toUpperCase())) {
- ("BNB", "BSC") => "BNB_BSC",
- ("USDT", "ETH") => "USDT_ERC20",
- ("USDT", "TRX") => "TRX_USDT_S2UZ",
- ("USDT", "BSC") => "USDT_BSC",
- (final title, null) => title,
- _ => null,
- };
+ String? _networkFor(CryptoCurrency currency) {
+ final network = switch (currency) {
+ CryptoCurrency.eth => 'ETH',
+ CryptoCurrency.bnb => 'BNB_BSC',
+ CryptoCurrency.baseEth => 'BASE',
+ CryptoCurrency.robEth => 'ROB',
+ CryptoCurrency.arb => 'ARB',
+ CryptoCurrency.arbEth => 'ARB',
+ CryptoCurrency.usdterc20 => 'USDT_ERC20',
+ CryptoCurrency.usdttrc20 => 'TRX_USDT_S2UZ',
+ CryptoCurrency.usdtbsc => 'USDT_BSC',
+ CryptoCurrency.sol => 'SOL',
+ CryptoCurrency.btc => 'BTC',
+ CryptoCurrency.xmr => 'XMR',
+ CryptoCurrency.ltc => 'LTC',
+ CryptoCurrency.ada => 'ADA',
+ CryptoCurrency.bch => 'BCH',
+ CryptoCurrency.zec => 'ZEC',
+ _ => currency.tag?.toUpperCase(),
+ };
+ return network;
+ }
}
diff --git a/lib/new-ui/widgets/changelog_modal.dart b/lib/new-ui/widgets/changelog_modal.dart
index f59ad90d1..5b5740c30 100644
--- a/lib/new-ui/widgets/changelog_modal.dart
+++ b/lib/new-ui/widgets/changelog_modal.dart
@@ -5,6 +5,7 @@ import 'package:cake_wallet/generated/i18n.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:cake_wallet/wallet_type_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_svg/flutter_svg.dart';
@@ -40,15 +41,16 @@ class _ChangelogModalState extends State {
}
void loadChangelog() async {
+ final fileName = isMoneroOnly ? "monerocom_changelog" : "changelog";
String lang = WidgetsBinding.instance.platformDispatcher.locale.languageCode;
if (lang == "und" ||
lang.isEmpty ||
- !(await File("$changelogTextLocation/changelog_$lang.json").exists())) {
+ !(await File("$changelogTextLocation/${fileName}_$lang.json").exists())) {
lang = "en";
}
final List changelog =
- jsonDecode(await rootBundle.loadString("$changelogTextLocation/changelog_$lang.json"))
+ jsonDecode(await rootBundle.loadString("$changelogTextLocation/${fileName}_$lang.json"))
as List;
for (final item in changelog) {
@@ -146,7 +148,9 @@ class VersionNumberHeader extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: [
CakeImageWidget(
- imageUrl: "assets/images/cake_logo_dark.svg",
+ imageUrl: isMoneroOnly
+ ? "assets/images/monerocom_logo.svg"
+ : "assets/images/cake_logo_dark.svg",
height: 32,
width: 32,
colorFilter:
diff --git a/lib/utils/feature_flag.dart b/lib/utils/feature_flag.dart
index 820fe4ff9..29916385a 100644
--- a/lib/utils/feature_flag.dart
+++ b/lib/utils/feature_flag.dart
@@ -6,7 +6,7 @@ class FeatureFlag {
static const bool isCakePayEnabled = false;
static const bool isCakePayPurchaseSimulationEnabled = true;
static const bool isCakePayRedemptionFlowEnabled = false;
- static const bool isExolixEnabled = true;
+ static const bool isExolixEnabled = false;
static const bool isBackgroundSyncEnabled = true;
static bool get isInAppTorEnabled => CakeTor.instance is! CakeTorDisabled;
static const int verificationWordsCount = kDebugMode || kProfileMode ? 0 : 2;
diff --git a/pubspec_overrides.yaml b/pubspec_overrides.yaml
index 8b8eea73a..bcc14dac7 100644
--- a/pubspec_overrides.yaml
+++ b/pubspec_overrides.yaml
@@ -960,7 +960,7 @@ dependency_overrides:
monero:
git:
url: https://github.com/mrcyjanek/monero_c.git
- ref: cd4fe366cc8d3c188c91de279f43b29c0e044b15
+ ref: 33671871de3d51696b66ffb3bd94f744e26974f6
path: ./impls/monero.dart
msgpack_dart:
git:
diff --git a/scripts/android/app_env.sh b/scripts/android/app_env.sh
index 541637659..7d8c7881d 100644
--- a/scripts/android/app_env.sh
+++ b/scripts/android/app_env.sh
@@ -14,14 +14,14 @@ TYPES=($MONERO_COM $CAKEWALLET)
APP_ANDROID_TYPE=$1
MONERO_COM_NAME="Monero.com"
-MONERO_COM_VERSION="6.4.6"
+MONERO_COM_VERSION="6.5.0"
MONERO_COM_BUILD_NUMBER=4170
MONERO_COM_BUNDLE_ID="com.monero.app"
MONERO_COM_PACKAGE="com.monero.app"
MONERO_COM_SCHEME="monero.com"
CAKEWALLET_NAME="Cake Wallet"
-CAKEWALLET_VERSION="6.4.6"
+CAKEWALLET_VERSION="6.5.0"
CAKEWALLET_BUILD_NUMBER=4426
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
diff --git a/scripts/android/docker/Dockerfile.monero b/scripts/android/docker/Dockerfile.monero
index b95081871..4effd9944 100644
--- a/scripts/android/docker/Dockerfile.monero
+++ b/scripts/android/docker/Dockerfile.monero
@@ -1,10 +1,19 @@
ARG BASE_IMAGE
FROM --platform=linux/amd64 ${BASE_IMAGE} AS build
-RUN mkdir -p /w/scripts/android
COPY scripts/functions.sh /w/scripts/functions.sh
COPY scripts/prepare_moneroc.sh /w/scripts/prepare_moneroc.sh
COPY scripts/android/build_monero_all.sh /w/scripts/android/build_monero_all.sh
+
+ARG UID=10001
+ARG GID=10001
+ARG USER=builder
+RUN groupadd -g "$GID" "$USER" && \
+ useradd -m -u "$UID" -g "$GID" -s /bin/bash "$USER"
+
+RUN sudo chown $UID:$GID -R /w /root
+USER builder
+
ARG COIN
ARG TARGET
ENV COIN=$COIN
diff --git a/scripts/ios/app_env.sh b/scripts/ios/app_env.sh
index 1fba2483c..af438918e 100644
--- a/scripts/ios/app_env.sh
+++ b/scripts/ios/app_env.sh
@@ -12,12 +12,12 @@ TYPES=($MONERO_COM $CAKEWALLET)
APP_IOS_TYPE=$1
MONERO_COM_NAME="Monero.com"
-MONERO_COM_VERSION="6.4.6"
+MONERO_COM_VERSION="6.5.0"
MONERO_COM_BUILD_NUMBER=177
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
CAKEWALLET_NAME="Cake Wallet"
-CAKEWALLET_VERSION="6.4.6"
+CAKEWALLET_VERSION="6.5.0"
CAKEWALLET_BUILD_NUMBER=446
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
diff --git a/scripts/linux/app_env.sh b/scripts/linux/app_env.sh
index feb3adcbf..5b452fdb3 100755
--- a/scripts/linux/app_env.sh
+++ b/scripts/linux/app_env.sh
@@ -14,7 +14,7 @@ if [ -n "$1" ]; then
fi
CAKEWALLET_NAME="Cake Wallet"
-CAKEWALLET_VERSION="6.4.6"
+CAKEWALLET_VERSION="6.5.0"
CAKEWALLET_BUILD_NUMBER=83
if ! [[ " ${TYPES[*]} " =~ " ${APP_LINUX_TYPE} " ]]; then
diff --git a/scripts/macos/app_env.sh b/scripts/macos/app_env.sh
index 8e1952a38..96d9102f7 100755
--- a/scripts/macos/app_env.sh
+++ b/scripts/macos/app_env.sh
@@ -16,12 +16,12 @@ if [ -n "$1" ]; then
fi
MONERO_COM_NAME="Monero.com"
-MONERO_COM_VERSION="6.4.6"
+MONERO_COM_VERSION="6.5.0"
MONERO_COM_BUILD_NUMBER=86
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
CAKEWALLET_NAME="Cake Wallet"
-CAKEWALLET_VERSION="6.4.6"
+CAKEWALLET_VERSION="6.5.0"
CAKEWALLET_BUILD_NUMBER=154
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
diff --git a/scripts/prepare_moneroc.sh b/scripts/prepare_moneroc.sh
index f4434ab4c..ab625aa28 100755
--- a/scripts/prepare_moneroc.sh
+++ b/scripts/prepare_moneroc.sh
@@ -16,7 +16,7 @@ fi
# NOTE: Make sure to update monero_c prebuilds link in workflow files
# https://github.com/MrCyjaneK/monero_c/releases/download/v0.18.4.6-RC2/release-bundle.zip
git fetch -a
-git checkout cd4fe366cc8d3c188c91de279f43b29c0e044b15
+git checkout 33671871de3d51696b66ffb3bd94f744e26974f6
git reset --hard
git submodule update --init --force --recursive
diff --git a/scripts/windows/build_exe_installer.iss b/scripts/windows/build_exe_installer.iss
index 4343c799d..af39c1727 100644
--- a/scripts/windows/build_exe_installer.iss
+++ b/scripts/windows/build_exe_installer.iss
@@ -1,5 +1,5 @@
#define MyAppName "Cake Wallet"
-#define MyAppVersion "6.4.1"
+#define MyAppVersion "6.5.0"
#define MyAppPublisher "Cake Labs LLC"
#define MyAppURL "https://cakewallet.com/"
#define MyAppExeName "CakeWallet.exe"
diff --git a/tool/configure.dart b/tool/configure.dart
index 56a6660b0..05cef5b7c 100644
--- a/tool/configure.dart
+++ b/tool/configure.dart
@@ -106,7 +106,6 @@ import 'dart:typed_data';
import 'package:bitcoin_base/bitcoin_base.dart';
import 'package:cake_wallet/view_model/hardware_wallet/ledger_view_model.dart';
import 'package:cake_wallet/view_model/send/output.dart';
-import 'package:cw_bitcoin/electrum_balance.dart';
import "package:cw_core/account.dart";
import 'package:cw_core/amount/money.dart';
import 'package:cw_core/hardware/hardware_account_data.dart';
@@ -124,6 +123,7 @@ import 'package:cw_core/unspent_transaction_output.dart';
import 'package:cw_core/wallet_base.dart';
import 'package:cw_core/wallet_credentials.dart';
import 'package:cw_core/wallet_info.dart';
+import "package:cw_core/balance.dart";
import 'package:cw_core/wallet_service.dart';
import 'package:cw_core/wallet_type.dart';
import 'package:cw_core/utils/print_verbose.dart';
@@ -164,6 +164,7 @@ import 'package:cw_bitcoin/hardware/litecoin_ledger_service.dart';
import 'package:cw_bitcoin/hardware/bitbox_service.dart';
import 'package:cw_bitcoin/hardware/litecoin_trezor_service.dart';
import 'package:cw_bitcoin/hardware/trezor_service.dart';
+import 'package:cw_bitcoin/electrum_balance.dart';
import 'package:mobx/mobx.dart';
import "package:breez_sdk_spark_flutter/src/rust/errors.dart";
""";
@@ -307,7 +308,7 @@ abstract class Bitcoin {
Future getLightningInvoice(Object wallet, BigInt amount);
String? getBreezSdkError(Object exception);
Future getCurrentAccount(Object wallet);
- ElectrumBalance balanceForAccount(Object wallet, int accountIndex);
+ Balance balanceForAccount(Object wallet, int accountIndex);
Map accountBalancesSnapshot(Object wallet);
Future setCurrentAccount(Object wallet, int accountIndex);
List getCurrentAccountBitcoinTransactions(Object wallet);