diff --git a/.github/workflows/automated_integration_test.yml b/.github/workflows/automated_integration_test.yml
index 1ed5baf9f..84c680dda 100644
--- a/.github/workflows/automated_integration_test.yml
+++ b/.github/workflows/automated_integration_test.yml
@@ -12,7 +12,7 @@ on:
jobs:
Automated_integration_test:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
diff --git a/.github/workflows/no_print_in_dart.yaml b/.github/workflows/no_print_in_dart.yaml
index b321a9cc9..9c3d82bc2 100644
--- a/.github/workflows/no_print_in_dart.yaml
+++ b/.github/workflows/no_print_in_dart.yaml
@@ -4,14 +4,14 @@ on: [pull_request]
jobs:
PR_test_build:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Check for print() statements in dart code (use printV() instead)
if: github.event_name == 'pull_request'
run: |
- GIT_GREP_OUT="$(git grep ' print(' | (grep .dart: || test $? = 1) | (grep -v print_verbose.dart || test $? = 1) || true)"
+ GIT_GREP_OUT="$(git grep ' print(' | (grep .dart: || test $? = 1) | (grep -v print_verbose.dart || test $? = 1) | (grep -v print_verbose_dummy.dart || test $? = 1) || true)"
[[ "x$GIT_GREP_OUT" == "x" ]] && exit 0
echo "$GIT_GREP_OUT"
echo "There are .dart files which use print() statements"
diff --git a/.github/workflows/no_restricted_imports.yaml b/.github/workflows/no_restricted_imports.yaml
index 4b17de31a..03c3de018 100644
--- a/.github/workflows/no_restricted_imports.yaml
+++ b/.github/workflows/no_restricted_imports.yaml
@@ -4,7 +4,7 @@ on: [pull_request]
jobs:
check_restricted_imports:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
diff --git a/.github/workflows/pr_test_build_android.yml b/.github/workflows/pr_test_build_android.yml
index 6c72b587d..8f6139747 100644
--- a/.github/workflows/pr_test_build_android.yml
+++ b/.github/workflows/pr_test_build_android.yml
@@ -9,7 +9,7 @@ jobs:
PR_test_build:
runs-on: linux-amd64
container:
- image: ghcr.io/cake-tech/cake_wallet:3.27.4-linux
+ image: ghcr.io/cake-tech/cake_wallet:debian12-flutter3.27.4-go1.24.1
env:
STORE_PASS: test@cake_wallet
KEY_PASS: test@cake_wallet
@@ -274,7 +274,7 @@ jobs:
- name: Build
run: |
- flutter build apk --release --split-per-abi
+ flutter build apk --dart-define=hasDevOptions=true --release --split-per-abi
- name: Rename apk file
run: |
diff --git a/.github/workflows/pr_test_build_linux.yml b/.github/workflows/pr_test_build_linux.yml
index 9317aab34..a341aed0d 100644
--- a/.github/workflows/pr_test_build_linux.yml
+++ b/.github/workflows/pr_test_build_linux.yml
@@ -9,7 +9,7 @@ jobs:
PR_test_build:
runs-on: linux-amd64
container:
- image: ghcr.io/cake-tech/cake_wallet:3.27.4-linux
+ image: ghcr.io/cake-tech/cake_wallet:debian12-flutter3.27.4-go1.24.1
env:
STORE_PASS: test@cake_wallet
KEY_PASS: test@cake_wallet
@@ -22,9 +22,6 @@ jobs:
- /opt/cw_cache_linux/root/.pub-cache/:/root/.pub-cache
- /opt/cw_cache_linux/root/go/pkg:/root/go/pkg
- /opt/cw_cache_linux/opt/generic_cache:/opt/generic_cache
- strategy:
- matrix:
- api-level: [29]
steps:
- name: Fix github actions messing up $HOME...
@@ -228,7 +225,7 @@ jobs:
- name: Build linux
run: |
- flutter build linux --release
+ flutter build linux --dart-define=hasDevOptions=true --release
- name: Compress release
run: |
diff --git a/.gitignore b/.gitignore
index 1a11e030e..304ffe1c7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -187,3 +187,26 @@ ios/MoneroWallet.framework/MoneroWallet
ios/WowneroWallet.framework/WowneroWallet
ios/ZanoWallet.framework/ZanoWallet
*_libwallet2_api_c.dylib
+
+.flatpak-builder
+cake_wallet.flatpak
+flatpak-build/
+
+# macOS
+**/Flutter/ephemeral/
+**/Pods/
+**/macos/Flutter/GeneratedPluginRegistrant.swift
+**/macos/Flutter/ephemeral
+**/xcuserdata/
+
+# Windows
+**/windows/flutter/ephemeral/
+**/windows/flutter/generated_plugin_registrant.cc
+**/windows/flutter/generated_plugin_registrant.h
+**/windows/flutter/generated_plugins.cmake
+
+# Linux
+**/linux/flutter/ephemeral/
+**/linux/flutter/generated_plugin_registrant.cc
+**/linux/flutter/generated_plugin_registrant.h
+**/linux/flutter/generated_plugins.cmake
diff --git a/Dockerfile b/Dockerfile
index d9c99da0b..84179d645 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,4 @@
-# docker build . -f Dockerfile -t ghcr.io/cake-tech/cake_wallet:3.27.4-linux
-# docker push ghcr.io/cake-tech/cake_wallet:3.27.4-linux
+# docker buildx build --push --pull --platform linux/amd64,linux/arm64 . -f Dockerfile -t ghcr.io/cake-tech/cake_wallet:debian12-flutter3.27.4-go1.24.1
# Heavily inspired by cirrusci images
# https://github.com/cirruslabs/docker-images-android/blob/master/sdk/tools/Dockerfile
@@ -7,13 +6,13 @@
# https://github.com/cirruslabs/docker-images-android/blob/master/sdk/34-ndk/Dockerfile
# https://github.com/cirruslabs/docker-images-flutter/blob/master/sdk/Dockerfile
-FROM --platform=linux/amd64 docker.io/debian:12
+FROM docker.io/debian:12
LABEL org.opencontainers.image.source=https://github.com/cake-tech/cake_wallet
# Set necessary environment variables
# Set Go version to latest known-working version
-ENV GOLANG_VERSION=1.23.4
+ENV GOLANG_VERSION=1.24.1
# Pin Flutter version to latest known-working version
ENV FLUTTER_VERSION=3.27.4
@@ -60,11 +59,20 @@ RUN set -o xtrace \
ffmpeg network-manager x11-utils xvfb psmisc \
# aarch64-linux-gnu dependencies
g++-aarch64-linux-gnu gcc-aarch64-linux-gnu \
+ # x86_64-linux-gnu dependencies
+ g++-x86-64-linux-gnu gcc-x86-64-linux-gnu \
+ # flatpak dependencies
+ flatpak flatpak-builder binutils elfutils patch unzip xz-utils zstd \
&& apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& sh -c 'echo "en_US.UTF-8 UTF-8" > /etc/locale.gen' \
&& locale-gen \
&& update-locale LANG=en_US.UTF-8
+ENV FLATPAK_RUNTIME_VERSION=24.08
+RUN flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo \
+ && flatpak install -y flathub org.freedesktop.Platform//${FLATPAK_RUNTIME_VERSION} \
+ && flatpak install -y flathub org.freedesktop.Sdk//${FLATPAK_RUNTIME_VERSION}
+
# Install nodejs for Github Actions
RUN curl -fsSL https://deb.nodesource.com/setup_23.x | bash - && \
apt-get install -y --no-install-recommends nodejs && \
@@ -74,14 +82,28 @@ RUN curl -fsSL https://deb.nodesource.com/setup_23.x | bash - && \
ENV PATH=${PATH}:/usr/local/go/bin:${HOME}/go/bin
ENV GOROOT=/usr/local/go
ENV GOPATH=${HOME}/go
-RUN wget https://go.dev/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz &&\
- rm -rf /usr/local/go &&\
- tar -C /usr/local -xzf go${GOLANG_VERSION}.linux-amd64.tar.gz && \
+RUN ARCH=$(uname -m) && \
+ if [ "$ARCH" = "x86_64" ]; then \
+ wget https://go.dev/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz -O go.tar.gz; \
+ elif [ "$ARCH" = "aarch64" ]; then \
+ wget https://go.dev/dl/go${GOLANG_VERSION}.linux-arm64.tar.gz -O go.tar.gz; \
+ else \
+ echo "Unsupported architecture: $ARCH"; exit 1; \
+ fi && \
+ rm -rf /usr/local/go && \
+ tar -C /usr/local -xzf go.tar.gz && \
+ rm go.tar.gz && \
go install golang.org/x/mobile/cmd/gomobile@latest && \
gomobile init
+RUN git config --global user.email "czarek@cakewallet.com" \
+ && git config --global user.name "CakeWallet CI"
+
+
# Install Android SDK commandline tools and emulator
-RUN wget -q https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS_VERSION}_latest.zip -O android-sdk-tools.zip \
+RUN ARCH=$(uname -m) && \
+ if [ "$ARCH" != "x86_64" ]; then exit 0; fi \
+ && wget -q https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS_VERSION}_latest.zip -O android-sdk-tools.zip \
&& mkdir -p ${ANDROID_HOME}/cmdline-tools/ \
&& unzip -q android-sdk-tools.zip -d ${ANDROID_HOME}/cmdline-tools/ \
&& mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest \
@@ -94,14 +116,17 @@ RUN wget -q https://dl.google.com/android/repository/commandlinetools-linux-${AN
&& sdkmanager platform-tools \
&& mkdir -p ${HOME}/.android \
&& touch ${HOME}/.android/repositories.cfg \
- && git config --global user.email "czarek@cakewallet.com" \
- && git config --global user.name "CakeWallet CI"
+
# Handle emulator not being available on linux/arm64 (https://issuetracker.google.com/issues/227219818)
-RUN if [ $(uname -m) == "x86_64" ]; then sdkmanager emulator ; fi
+RUN ARCH=$(uname -m) && \
+ if [ "$ARCH" != "x86_64" ]; then exit 0; fi \
+ && sdkmanager emulator
# Pre-install extra Android SDK dependencies in order to not have to download them for each build
-RUN yes | sdkmanager \
+RUN ARCH=$(uname -m) && \
+ if [ "$ARCH" != "x86_64" ]; then exit 0; fi \
+ && yes | sdkmanager \
"platforms;android-$ANDROID_PLATFORM_VERSION" \
"build-tools;$ANDROID_BUILD_TOOLS_VERSION" \
"platforms;android-33" \
@@ -114,12 +139,16 @@ RUN yes | sdkmanager \
# Install extra NDK dependency for sp_scanner
ENV ANDROID_NDK_VERSION=27.2.12479018
-RUN yes | sdkmanager "ndk;$ANDROID_NDK_VERSION" \
+RUN ARCH=$(uname -m) && \
+ if [ "$ARCH" != "x86_64" ]; then exit 0; fi \
+ && yes | sdkmanager "ndk;$ANDROID_NDK_VERSION" \
"ndk;27.0.12077973"
# Install dependencies for tests
# Comes from https://github.com/ReactiveCircus/android-emulator-runner
-RUN yes | sdkmanager \
+RUN ARCH=$(uname -m) && \
+ if [ "$ARCH" != "x86_64" ]; then exit 0; fi \
+ && yes | sdkmanager \
"system-images;android-29;default;x86_64" \
"system-images;android-31;default;x86_64" \
"platforms;android-29" \
@@ -135,7 +164,7 @@ RUN (addgroup kvm || true) && \
ENV PATH=${HOME}/.cargo/bin:${PATH}
RUN curl https://sh.rustup.rs -sSf | bash -s -- -y && \
cargo install cargo-ndk && \
- for target in aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android x86_64-unknown-linux-gnu; \
+ for target in aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu aarch64-unknown-linux-gnu; \
do \
rustup target add --toolchain stable $target; \
done
diff --git a/assets/faq/faq_pl.json b/assets/faq/faq_pl.json
index a38d79068..b41841cd8 100644
--- a/assets/faq/faq_pl.json
+++ b/assets/faq/faq_pl.json
@@ -13,7 +13,7 @@
},
{
"question" : "Co oznaczają słowa „seed” i „keys”?",
- "answer" : "Twoje klucze kodują prywatne informacje w twoim portfelu i pozwalają wydać monety i zobaczyć przychodzące transakcje.\nTwoje ziarno to tylko wersja twojego klucza prywatnego napisana w sposób, który łatwiej Ci zapisać. Wasze nasiona i klucze są w rzeczywistości takie same, tylko w różnych formach!\nNigdy nie dawaj nikomu swojego ziarna ani kluczy. Twoje fundusze zostaną skradzione, jeśli wydasz swoje nasiona lub klucze. Zapisz jednak swoje ziarno i przechowuj je w bezpiecznym miejscu (pozwoli to przywrócić portfel, jeśli zgubisz telefon).\n"
+ "answer" : "Twoje klucze i fraza seed zawierają prywatne informacje o twoim portfelu i pozwalają wysyłać kryptowalutę oraz zobaczyć przychodzące transakcje.\nFraza „seed” to wersja twojego klucza prywatnego napisana w sposób, który łatwiej Ci zapisać. Wasze frazy seed i klucze są w rzeczywistości takie same, tylko w różnych formach zapisu!\nNigdy nie dawaj nikomu swojej frazy seed ani swoich kluczy. Twoje fundusze zostaną skradzione, jeśli upublicznisz frazę seed lub klucze. Zapisz jednak swoją frazę seed i przechowuj ją w bezpiecznym miejscu (pozwoli to przywrócić portfel, jeśli zgubisz telefon).\n"
},
{
"question" : "Ile portfeli mogę utworzyć?",
@@ -24,11 +24,11 @@
"answer" : "Stuknij menu •••, wybierz „Portfele”, a następnie „Przywróć portfel”. Następnie wprowadź dane początkowe (lub klucze) i opcjonalnie wprowadź datę przed pierwszą transakcją w portfelu (przyspieszy to proces synchronizacji .) Może być konieczne pozostawienie aplikacji otwartej przez 15-30 minut, aby całkowicie przywrócić portfel.\n"
},
{
- "question" : "Co mogę zrobić, jeśli stracę nasiona?",
- "answer" : "Jeśli zapomniałeś o nasieniu, prawdopodobnie gdzieś je zapisałeś. Sprawdź swoje notatki i rozejrzyj się po komputerze. Jeśli nie możesz go nigdzie znaleźć, być może utworzono kopię zapasową Cake Wallet (w takim przypadku będziesz mógł przywrócić dane z tej kopii zapasowej). Jeśli żadna z tych czynności nie działa, niestety nic nie możemy zrobić.\n"
+ "question" : "Co mogę zrobić, jeśli zapomniałem frazę seed?",
+ "answer" : "Jeśli zapomniałeś swoją frazę seed, prawdopodobnie gdzieś je zapisałeś. Sprawdź swoje notatki i rozejrzyj się po komputerze. Jeśli nie możesz go nigdzie znaleźć, być może utworzono kopię zapasową Cake Wallet (w takim przypadku będziesz mógł przywrócić dane z tej kopii zapasowej). Jeśli żadna z tych czynności nie działa, niestety nic nie możemy zrobić.\n"
},
{
- "question" : "Czy zbierasz jakieś informacje o moim portfelu?",
+ "question" : "Czy zbieracie jakieś informacje o moim portfelu?",
"answer" : "Portfel Cake NIE gromadzi ani nie rejestruje żadnych informacji o Twoim portfelu. Dbamy o Twoją prywatność.\n"
},
{
@@ -37,7 +37,7 @@
},
{
"question" : "Co to są „podadresy” i jak z nich korzystać?",
- "answer" : "Podadres jest w zasadzie unikalnym adresem, który można wygenerować w dowolnym momencie. Monety wysłane do niego nadal będą pojawiać się w głównym portfelu, ale osoba wysyłająca monety nie może podać Twojego głównego adresu. Podadresy zawsze zaczynają się od „8”.\nMożesz utworzyć nowy podadres na ekranie Odbieranie, dotykając „+” obok przycisku Podadresy. Wprowadź nazwę podadresu i dotknij „Dodaj”. Następnie dotknij nazwy podadresu, gdy chcesz go użyć!\nJeśli jesteś paranoikiem, prawdopodobnie za każdym razem, gdy otrzymasz Monero, powinieneś utworzyć nowy podadres.\n"
+ "answer" : "Podadres jest w unikalnym adresem, który można wygenerować w dowolnym momencie. Monety wysłane do niego nadal będą pojawiać się w głównym portfelu, ale osoba wysyłająca monety nie zna Twojego głównego adresu. Podadresy zawsze zaczynają się od „8”.\nMożesz utworzyć nowy podadres na ekranie Odbieranie, dotykając „+” obok przycisku Podadresy. Wprowadź nazwę podadresu i dotknij „Dodaj”. Następnie dotknij nazwy podadresu, gdy chcesz go użyć!\nJeśli jesteś paranoikiem, prawdopodobnie za każdym razem, gdy otrzymasz Monero, powinieneś utworzyć nowy podadres.\n"
},
{
"question" : "Co to jest ID transakcji?",
diff --git a/assets/images/cake_logo.png b/assets/images/cake_logo.png
index 8a85bf225..abbb4e62b 100644
Binary files a/assets/images/cake_logo.png and b/assets/images/cake_logo.png differ
diff --git a/assets/images/cakewallet_android_icon.png b/assets/images/cakewallet_android_icon.png
old mode 100755
new mode 100644
index 59cc69414..7f15c62f5
Binary files a/assets/images/cakewallet_android_icon.png and b/assets/images/cakewallet_android_icon.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-anydpi-v26/ic_launcher.xml b/assets/images/cakewallet_android_icon/mipmap-anydpi-v26/ic_launcher.xml
index c8bd4b26c..345888d26 100644
--- a/assets/images/cakewallet_android_icon/mipmap-anydpi-v26/ic_launcher.xml
+++ b/assets/images/cakewallet_android_icon/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,6 +1,6 @@
-
-
-
+
+
+
\ No newline at end of file
diff --git a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher.png b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher.png
index 10d0a1a82..89c9b0571 100644
Binary files a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher.png and b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_adaptive_back.png b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_adaptive_back.png
deleted file mode 100644
index 5b0fde827..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_adaptive_back.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_adaptive_fore.png b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_adaptive_fore.png
deleted file mode 100644
index 9c16f0a27..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_adaptive_fore.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_adaptive_mono.png b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_adaptive_mono.png
deleted file mode 100644
index 27f939b41..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_adaptive_mono.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_background.png b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_background.png
new file mode 100644
index 000000000..19669488f
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_background.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_foreground.png b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..1411a5da5
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_monochrome.png b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_monochrome.png
new file mode 100644
index 000000000..1411a5da5
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-hdpi/ic_launcher_monochrome.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher.png b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher.png
index 8c59ec33e..8f1d1c28b 100644
Binary files a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher.png and b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_adaptive_back.png b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_adaptive_back.png
deleted file mode 100644
index 5d25e42e7..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_adaptive_back.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_adaptive_fore.png b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_adaptive_fore.png
deleted file mode 100644
index 021fe65de..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_adaptive_fore.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_adaptive_mono.png b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_adaptive_mono.png
deleted file mode 100644
index 7bdb298c1..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_adaptive_mono.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_background.png b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_background.png
new file mode 100644
index 000000000..75025cfd5
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_background.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_foreground.png b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..e8c47adb3
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_foreground.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_monochrome.png b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_monochrome.png
new file mode 100644
index 000000000..e8c47adb3
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-mdpi/ic_launcher_monochrome.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher.png b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher.png
index 10c3acd7f..f775a8fac 100644
Binary files a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher.png and b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_adaptive_back.png b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_adaptive_back.png
deleted file mode 100644
index c4b66dc58..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_adaptive_back.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_adaptive_fore.png b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_adaptive_fore.png
deleted file mode 100644
index b440b154d..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_adaptive_fore.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_adaptive_mono.png b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_adaptive_mono.png
deleted file mode 100644
index 79e9df08d..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_adaptive_mono.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_background.png b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_background.png
new file mode 100644
index 000000000..9784f16c8
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_background.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_foreground.png b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..6ba8eb301
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_monochrome.png b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_monochrome.png
new file mode 100644
index 000000000..6ba8eb301
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-xhdpi/ic_launcher_monochrome.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher.png b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher.png
index 813a3678d..31458fa02 100644
Binary files a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher.png and b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_adaptive_back.png b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_adaptive_back.png
deleted file mode 100644
index 75dc0219d..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_adaptive_back.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_adaptive_fore.png b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_adaptive_fore.png
deleted file mode 100644
index 90afb19e8..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_adaptive_fore.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_adaptive_mono.png b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_adaptive_mono.png
deleted file mode 100644
index 0bb1c7430..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_adaptive_mono.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_background.png b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_background.png
new file mode 100644
index 000000000..04ef206c8
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_background.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_foreground.png b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..cc93d633b
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_monochrome.png b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_monochrome.png
new file mode 100644
index 000000000..cc93d633b
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-xxhdpi/ic_launcher_monochrome.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher.png b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher.png
index 671422b96..158afbbf9 100644
Binary files a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher.png and b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_adaptive_back.png b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_adaptive_back.png
deleted file mode 100644
index 46b1e2cb1..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_adaptive_back.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png
deleted file mode 100644
index 0a2025220..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_adaptive_mono.png b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_adaptive_mono.png
deleted file mode 100644
index 205f2ad2a..000000000
Binary files a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_adaptive_mono.png and /dev/null differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_background.png b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_background.png
new file mode 100644
index 000000000..66a5487a2
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_background.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_foreground.png b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..0ecd56e8c
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_monochrome.png b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_monochrome.png
new file mode 100644
index 000000000..0ecd56e8c
Binary files /dev/null and b/assets/images/cakewallet_android_icon/mipmap-xxxhdpi/ic_launcher_monochrome.png differ
diff --git a/assets/images/cakewallet_app_logo.png b/assets/images/cakewallet_app_logo.png
deleted file mode 100644
index 59cc69414..000000000
Binary files a/assets/images/cakewallet_app_logo.png and /dev/null differ
diff --git a/assets/images/cakewallet_icon_1024.png b/assets/images/cakewallet_icon_1024.png
index 64682cd1d..35cf42245 100644
Binary files a/assets/images/cakewallet_icon_1024.png and b/assets/images/cakewallet_icon_1024.png differ
diff --git a/assets/images/cakewallet_icon_120.png b/assets/images/cakewallet_icon_120.png
index 1a2c1b99c..6e45f6423 100644
Binary files a/assets/images/cakewallet_icon_120.png and b/assets/images/cakewallet_icon_120.png differ
diff --git a/assets/images/cakewallet_icon_180.png b/assets/images/cakewallet_icon_180.png
index ff69a866a..da585ca42 100644
Binary files a/assets/images/cakewallet_icon_180.png and b/assets/images/cakewallet_icon_180.png differ
diff --git a/assets/images/cakewallet_logo.png b/assets/images/cakewallet_logo.png
index bf6896ad2..c465fa26c 100644
Binary files a/assets/images/cakewallet_logo.png and b/assets/images/cakewallet_logo.png differ
diff --git a/assets/images/deuro_icon.png b/assets/images/deuro_icon.png
new file mode 100644
index 000000000..4dc068ff8
Binary files /dev/null and b/assets/images/deuro_icon.png differ
diff --git a/assets/nano_node_list.yml b/assets/nano_node_list.yml
index be550177e..cda931b5e 100644
--- a/assets/nano_node_list.yml
+++ b/assets/nano_node_list.yml
@@ -1,9 +1,9 @@
-
uri: nano.nownodes.io
useSSL: true
- is_default: true
-
uri: rpc.nano.to
+ is_default: true
useSSL: true
-
uri: node.nautilus.io
diff --git a/assets/text/Monerocom_Release_Notes.txt b/assets/text/Monerocom_Release_Notes.txt
index d1f91139b..5b2a9f873 100644
--- a/assets/text/Monerocom_Release_Notes.txt
+++ b/assets/text/Monerocom_Release_Notes.txt
@@ -1,3 +1,5 @@
-UI/UX enhancements
-Stability improvements
+Add background sync to Monero
+Enhance Backup files
+Improve app usability and user experience
+User interface enhancements
Bug fixes
\ No newline at end of file
diff --git a/assets/text/Release_Notes.txt b/assets/text/Release_Notes.txt
index 0f8118b4e..1a5986bd4 100644
--- a/assets/text/Release_Notes.txt
+++ b/assets/text/Release_Notes.txt
@@ -1 +1,8 @@
-Update for Zano's Hard fork
\ No newline at end of file
+Add background sync to Monero
+Add Decred Wallet
+Remove Haven Wallet
+Fix and Improve Solana Wallet
+Enhance Backup files
+Improve app usability and user experience
+User interface enhancements
+Bug fixes
\ No newline at end of file
diff --git a/com.cakewallet.CakeWallet.yml b/com.cakewallet.CakeWallet.yml
index 83efa1388..98ce19caf 100644
--- a/com.cakewallet.CakeWallet.yml
+++ b/com.cakewallet.CakeWallet.yml
@@ -1,6 +1,6 @@
app-id: com.cakewallet.CakeWallet
runtime: org.freedesktop.Platform
-runtime-version: '22.08'
+runtime-version: '24.08'
sdk: org.freedesktop.Sdk
command: cake_wallet
separate-locales: false
@@ -15,8 +15,6 @@ finish-args:
modules:
- name: cake_wallet
buildsystem: simple
- only-arches:
- - x86_64
build-commands:
- "cp -R bundle /app/cake_wallet"
- "chmod +x /app/cake_wallet/cake_wallet"
@@ -28,7 +26,7 @@ modules:
- "cp com.cakewallet.CakeWallet.desktop /app/share/applications"
sources:
- type: dir
- path: build/linux/x64/release
+ path: build/linux/current/release
- type: file
path: assets/images/cakewallet_icon_180.png
- type: file
diff --git a/cw_bitcoin/lib/electrum_balance.dart b/cw_bitcoin/lib/electrum_balance.dart
index 41526dddd..a035393c1 100644
--- a/cw_bitcoin/lib/electrum_balance.dart
+++ b/cw_bitcoin/lib/electrum_balance.dart
@@ -69,6 +69,6 @@ class ElectrumBalance extends Balance {
'unconfirmed': unconfirmed,
'frozen': frozen,
'secondConfirmed': secondConfirmed,
- 'secondUnconfirmed': secondUnconfirmed
+ 'secondUnconfirmed': secondUnconfirmed,
});
}
diff --git a/cw_core/lib/crypto_currency.dart b/cw_core/lib/crypto_currency.dart
index 00d49c288..cb8485ec5 100644
--- a/cw_core/lib/crypto_currency.dart
+++ b/cw_core/lib/crypto_currency.dart
@@ -110,7 +110,8 @@ class CryptoCurrency extends EnumerableItem with Serializable implemen
CryptoCurrency.wow,
CryptoCurrency.zano,
CryptoCurrency.ton,
- CryptoCurrency.flip
+ CryptoCurrency.flip,
+ CryptoCurrency.deuro
];
static const havenCurrencies = [
@@ -231,6 +232,7 @@ class CryptoCurrency extends EnumerableItem with Serializable implemen
static const ton = CryptoCurrency(title: 'TON', fullName: 'Toncoin', raw: 95, name: 'ton', iconPath: 'assets/images/ton_icon.png', decimals: 8);
static const zano = CryptoCurrency(title: 'ZANO', tag: 'ZANO', fullName: 'Zano', raw: 96, name: 'zano', iconPath: 'assets/images/zano_icon.png', decimals: 12);
static const flip = CryptoCurrency(title: 'FLIP', tag: 'ETH', fullName: 'Chainflip', raw: 97, name: 'flip', iconPath: 'assets/images/flip_icon.png', decimals: 18);
+ static const deuro = CryptoCurrency(title: 'DEURO', tag: 'ETH', fullName: 'Digital Euro', raw: 98, name: 'deuro', iconPath: 'assets/images/deuro_icon.png', decimals: 18);
static final Map _rawCurrencyMap =
[...all, ...havenCurrencies].fold