* fix: scanning issues

* fix: sync, storing silent unspents

* chore: deps

* fix: label issues, clear spent utxo

* chore: deps

* fix: build

* fix: missing types

* feat: new electrs API & changes, fixes for last block scanning

* feat: Scan Silent Payments homepage toggle

* chore: build configure

* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes

* fix: invalid Object in sendData

* feat: improve addresses page & address book displays

* feat: silent payments labeled addresses disclaimer

* fix: missing i18n

* chore: print

* feat: single block scan, rescan by date working for btc mainnet

* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert

* feat: delete silent addresses

* fix: red dot in non ssl nodes

* fix: inconsistent connection states, fix tx history

* fix: tx & balance displays, cpfp sending

* feat: new rust lib

* chore: node path

* fix: check node based on network

* fix: missing txcount from addresses

* style: padding in feature page cards

* fix: restore not getting all wallet addresses by type

* fix: auto switch node broken

* fix: silent payment txs not being restored

* feat: change scanning to subscription model, sync improvements

* fix: scan re-subscription

* fix: default nodes

* fix: improve scanning by date, fix single block scan

* refactor: common function for input tx selection

* various fixes for build issues

* initial monero.dart implementation

* ...

* multiple wallets
new lib
minor fixes

* other fixes from monero.dart and monero_c

* fix: nodes & build

* update build scripts
fix polyseed

* remove unnecessary code

* Add windows app, build scripts and build guide for it.

* Minor fix in generated monero configs

* fix: send all with multiple outs

* add missing monero_c command

* add android build script

* Merge and fix main

* undo android ndk removal

* Fix modified exception_handler.dart

* Temporarily remove haven

* fix build issues

* fix pr script

* Fixes for build monero.dart (monero_c) for windows.

* monero build script

* wip: ios build script

* refactor: unchanged file

* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.

* Update monero.dart and monero_c versions.

* Add missed windows build scripts

* Update the application configuration for windows build script.

* Update cw_monero pubspec lock file for monero.dart

* Update pr_test_build.yml

* chore: upgrade

* chore: merge changes

* refactor: unchanged files [skip ci]

* Fix conflicts with main

* fix for multiple wallets

* Add tron to windows application configuration.

* Add macOS option for description message in configure_cake_wallet.sh

* Include missed monero dll for windows.

* fix conflicts with main

* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with  for configuration script. Remove cw_shared configuration for cw_monero.

* fix: scan fixes, add date, allow sending while scanning

* add missing nano secrets file [skip ci]

* ios library

* don't pull prebuilds android

* Add auto generation of manifest file for android project even for iOS, macOS, Windows.

* feat: sync fixes, sp settings

* feat: fix resyncing

* store crash fix

* make init async so it won't lag
disable print starts

* fix monero_c build issues

* libstdc++

* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)

* update pubspec.lock

* fix build script

* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.

* fix: date from height logic, status disconnected & chain tip get

* fix: params

* feat: electrum migration if using cake electrum

* fix nodes
update versions

* re-enable tron

* update sp_scanner to work on iOS [skip ci]

* bump monero_c hash

* bump monero_c commit

* bump moneroc version

* bump monero_c commit

* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .

* fix: wrong socket for old electrum nodes

* Fix unchecked wallet type call

* get App Dir correctly in default_settings_migration.dart

* handle previous issue with fetching linux documents directory [skip ci]

* backup fix

* fix NTFS issues

* Close the wallet when the wallet gets changed

* fix: double balance

* feat: node domain

* fix: menu name

* bump monero_c commit

* fix: update tip on set scanning

* fix: connection switching back and forth

* feat: check if node is electrs, and supports sp

* chore: fix build

* minor enhancements

* fixes and enhancements

* solve conflicts with main

* Only stop wallet on rename and delete

* fix: status toggle

* minor enhancement

* Monero.com fixes

* bump monero_c commit

* update sp_scanner to include windows and linux

* Update macOS build guide. Change brew dependencies for build unbound locally.

* fix conflicts and update macos build guide

* remove build cache when on gh actions

* update secure storage

* free up even more storage

* free up more storage

* Add initial wownero

* fix conflicts

* fix workflow issue

* build wownero

* ios and windows changes

* macos

* complete wownero flow (app side)

* add keychain group entitlement and update script for RunnerBase on macos

* update secure_storage version to 8.1.0 in configure.dart

* add wownero framework

* update ios builds

* proper path for wownero and monero

* finalizing wownero

* finalizing wownero

* free up even more storage

* revert commenting of build gradle configs

* revert commenting of secrets [skip ci]

* free more storage

* minor fixes

* link android wownero libraries

* bump monero_c commit

* wownero fixes

* rename target

* build_single.sh using clean env

* bump monero_c commit

* minor fix

* Add wownero polyseed

* fix conflicts with main

* fix: wallet seed display
fix: wownero not refreshing

* fix: wallet seed display
fix: wownero not refreshing

* bump monero_c commit

* minor fixes

* fix: incorrectly displaying XMR instead of WOW

* fix: incorrect restore height in wownero

* bump monero_c commit

* Add Inno Setup Script for windows exe installer

* drop libc++_shared.so

* fixes from comments

* Fix CMake for windows

* Merge latest monero dart changes [skip ci]

* bump monero_c commit

* add wownero to build scripts for macos [skip ci]

* add 14 word seed support to wownero

* UI fixes for wownero seed restore

* minor fixes

* reformat code to pass lints

* wownero: fixes
haven: removal popup

* minor iOS fix [skip ci]

* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.

* Update preferences_key.dart [skip ci]

* minor fixes

---------

Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
This commit is contained in:
Omar Hatem
2024-07-04 22:43:17 +03:00
committed by GitHub
co-authored by Rafael Saes Czarek Nakamoto M Konstantin Ullrich Matthew Fosse
parent a319e10156
commit 36eacd8698
309 changed files with 26261 additions and 6351 deletions
+1
View File
@@ -1 +1,2 @@
output/
cache/
Regular → Executable
+39 -3
View File
@@ -4,23 +4,59 @@ LABEL authors="konsti"
ENV MONERO_BRANCH=release-v0.18.2.2-android
RUN apt-get update && \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
apt-get install -y dialog apt-utils curl unzip automake build-essential file pkg-config git python libtool libtinfo5 cmake clang
apt-get install -y dialog apt-utils curl unzip automake build-essential file pkg-config git python libtool libtinfo5 cmake clang bison ccache
RUN mkdir /opt/android/
COPY . /opt/android/cakewallet/
WORKDIR /opt/android/cakewallet/
# build_all.sh
# build_boost.sh
# build_haven.sh
# build_haven_all.sh
# build_iconv.sh
# build_monero.sh
# build_openssl.sh
# build_sodium.sh
# build_unbound.sh
# build_zmq.sh
# config.sh
# copy_haven_deps.sh
# copy_monero_deps.sh
# docker-compose.yml
# entrypoint.sh
# finish_boost.sh
# init_boost.sh
# install_ndk.sh
COPY config.sh /opt/android/cakewallet/
COPY install_ndk.sh /opt/android/cakewallet/
RUN ./install_ndk.sh
COPY build_iconv.sh /opt/android/cakewallet/
RUN ./build_iconv.sh
COPY build_boost.sh /opt/android/cakewallet/
COPY init_boost.sh /opt/android/cakewallet/
COPY finish_boost.sh /opt/android/cakewallet/
RUN ./build_boost.sh
COPY build_openssl.sh /opt/android/cakewallet/
RUN ./build_openssl.sh
COPY build_sodium.sh /opt/android/cakewallet/
RUN ./build_sodium.sh
COPY build_unbound.sh /opt/android/cakewallet/
RUN ./build_unbound.sh
COPY build_zmq.sh /opt/android/cakewallet/
RUN ./build_zmq.sh
COPY entrypoint.sh /opt/android/cakewallet/
COPY build_monero.sh /opt/android/cakewallet/
COPY copy_monero_deps.sh /opt/android/cakewallet/
COPY build_haven.sh /opt/android/cakewallet/
COPY copy_haven_deps.sh /opt/android/cakewallet/
ENTRYPOINT ["./entrypoint.sh"]
Regular → Executable
+17 -1
View File
@@ -1 +1,17 @@
#!/bin/sh␍␍if [ -z "$APP_ANDROID_TYPE" ]; then␍ echo "Please set APP_ANDROID_TYPE"␍ exit 1␍fi␍␍DIR=$(dirname "$0")␍␍case $APP_ANDROID_TYPE in␍ "monero.com") $DIR/build_monero_all.sh ;;␍ "cakewallet") $DIR/build_monero_all.sh␍ $DIR/build_haven.sh ;;␍ "haven") $DIR/build_haven_all.sh ;;␍esac␍
#!/bin/sh
set -x -e
if [ -z "$APP_ANDROID_TYPE" ]; then
echo "Please set APP_ANDROID_TYPE"
exit 1
fi
DIR=$(dirname "$0")
case $APP_ANDROID_TYPE in
"monero.com") $DIR/build_monero_all.sh ;;
"cakewallet") $DIR/build_monero_all.sh
$DIR/build_haven.sh ;;
"haven") $DIR/build_haven_all.sh ;;
esac
Regular → Executable
+1 -1
View File
@@ -1,5 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
BOOST_SRC_DIR=$WORKDIR/boost_1_72_0
BOOST_FILENAME=boost_1_72_0.tar.bz2
Regular → Executable
+71 -1
View File
@@ -1 +1,71 @@
#!/bin/sh␍␍. ./config.sh␍HAVEN_VERSION=tags/v3.0.7␍HAVEN_SRC_DIR=${WORKDIR}/haven␍␍git clone https://github.com/haven-protocol-org/haven-main.git ${HAVEN_SRC_DIR}␍git checkout ${HAVEN_VERSION}␍cd $HAVEN_SRC_DIR␍git submodule init␍git submodule update␍␍for arch in "aarch" "aarch64" "i686" "x86_64"␍do␍FLAGS=""␍PREFIX=${WORKDIR}/prefix_${arch}␍DEST_LIB_DIR=${PREFIX}/lib/haven␍DEST_INCLUDE_DIR=${PREFIX}/include/haven␍export CMAKE_INCLUDE_PATH="${PREFIX}/include"␍export CMAKE_LIBRARY_PATH="${PREFIX}/lib"␍ANDROID_STANDALONE_TOOLCHAIN_PATH="${TOOLCHAIN_BASE_DIR}_${arch}"␍PATH="${ANDROID_STANDALONE_TOOLCHAIN_PATH}/bin:${ORIGINAL_PATH}"␍␍mkdir -p $DEST_LIB_DIR␍mkdir -p $DEST_INCLUDE_DIR␍␍case $arch in␍ "aarch" )␍ CLANG=arm-linux-androideabi-clang␍ CXXLANG=arm-linux-androideabi-clang++␍ BUILD_64=OFF␍ TAG="android-armv7"␍ ARCH="armv7-a"␍ ARCH_ABI="armeabi-v7a"␍ FLAGS="-D CMAKE_ANDROID_ARM_MODE=ON -D NO_AES=true";;␍ "aarch64" )␍ CLANG=aarch64-linux-androideabi-clang␍ CXXLANG=aarch64-linux-androideabi-clang++␍ BUILD_64=ON␍ TAG="android-armv8"␍ ARCH="armv8-a"␍ ARCH_ABI="arm64-v8a";;␍ "i686" )␍ CLANG=i686-linux-androideabi-clang␍ CXXLANG=i686-linux-androideabi-clang++␍ BUILD_64=OFF␍ TAG="android-x86"␍ ARCH="i686"␍ ARCH_ABI="x86";;␍ "x86_64" ) ␍ CLANG=x86_64-linux-androideabi-clang␍ CXXLANG=x86_64-linux-androideabi-clang++␍ BUILD_64=ON␍ TAG="android-x86_64"␍ ARCH="x86-64"␍ ARCH_ABI="x86_64";;␍esac␍␍cd $HAVEN_SRC_DIR␍rm -rf ./build/release␍mkdir -p ./build/release␍cd ./build/release␍CC=${CLANG} CXX=${CXXLANG} cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH=${ARCH} -D STATIC=ON -D BUILD_64=${BUILD_64} -D CMAKE_BUILD_TYPE=release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG=${TAG} -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARCH_ABI=${ARCH_ABI} $FLAGS ../..␍ ␍make wallet_api -j$THREADS␍find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;␍␍cp -r ./lib/* $DEST_LIB_DIR␍cp ../../src/wallet/api/wallet2_api.h $DEST_INCLUDE_DIR␍done␍
#!/bin/sh
set -x -e
. ./config.sh
HAVEN_VERSION=tags/v3.0.7
HAVEN_SRC_DIR=${WORKDIR}/haven
git clone https://github.com/haven-protocol-org/haven-main.git ${HAVEN_SRC_DIR}
cd $HAVEN_SRC_DIR
git checkout ${HAVEN_VERSION}
git submodule init
git submodule update
for arch in "aarch" "aarch64" "i686" "x86_64"
do
FLAGS=""
PREFIX=${WORKDIR}/prefix_${arch}
DEST_LIB_DIR=${PREFIX}/lib/haven
DEST_INCLUDE_DIR=${PREFIX}/include/haven
export CMAKE_INCLUDE_PATH="${PREFIX}/include"
export CMAKE_LIBRARY_PATH="${PREFIX}/lib"
ANDROID_STANDALONE_TOOLCHAIN_PATH="${TOOLCHAIN_BASE_DIR}_${arch}"
PATH="${ANDROID_STANDALONE_TOOLCHAIN_PATH}/bin:${ORIGINAL_PATH}"
mkdir -p $DEST_LIB_DIR
mkdir -p $DEST_INCLUDE_DIR
case $arch in
"aarch" )
CLANG=arm-linux-androideabi-clang
CXXLANG=arm-linux-androideabi-clang++
BUILD_64=OFF
TAG="android-armv7"
ARCH="armv7-a"
ARCH_ABI="armeabi-v7a"
FLAGS="-D CMAKE_ANDROID_ARM_MODE=ON -D NO_AES=true";;
"aarch64" )
CLANG=aarch64-linux-androideabi-clang
CXXLANG=aarch64-linux-androideabi-clang++
BUILD_64=ON
TAG="android-armv8"
ARCH="armv8-a"
ARCH_ABI="arm64-v8a";;
"i686" )
CLANG=i686-linux-androideabi-clang
CXXLANG=i686-linux-androideabi-clang++
BUILD_64=OFF
TAG="android-x86"
ARCH="i686"
ARCH_ABI="x86";;
"x86_64" )
CLANG=x86_64-linux-androideabi-clang
CXXLANG=x86_64-linux-androideabi-clang++
BUILD_64=ON
TAG="android-x86_64"
ARCH="x86-64"
ARCH_ABI="x86_64";;
esac
cd $HAVEN_SRC_DIR
rm -rf ./build/release
mkdir -p ./build/release
cd ./build/release
CC=${CLANG} CXX=${CXXLANG} cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH=${ARCH} -D STATIC=ON -D BUILD_64=${BUILD_64} -D CMAKE_BUILD_TYPE=release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG=${TAG} -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARCH_ABI=${ARCH_ABI} $FLAGS ../..
make wallet_api -j$THREADS
find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;
cp -r ./lib/* $DEST_LIB_DIR
cp ../../src/wallet/api/wallet2_api.h $DEST_INCLUDE_DIR
done
+9 -1
View File
@@ -1 +1,9 @@
#!/bin/bash␍␍./build_iconv.sh␍./build_boost.sh␍./build_openssl.sh␍./build_sodium.sh␍./build_zmq.sh␍./build_haven.sh␍
#!/bin/bash
set -x -e
./build_iconv.sh
./build_boost.sh
./build_openssl.sh
./build_sodium.sh
./build_zmq.sh
./build_haven.sh
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
export ICONV_FILENAME=libiconv-1.16.tar.gz
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
set -e
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
SODIUM_SRC_DIR=${WORKDIR}/libsodium
Regular → Executable
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
set -x -e
. ./config.sh
EXPAT_VERSION=R_2_4_8
EXPAT_HASH="3bab6c09bbe8bf42d84b81563ddbcf4cca4be838"
EXPAT_SRC_DIR=$WORKDIR/libexpat
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
ZMQ_SRC_DIR=$WORKDIR/libzmq
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
export API=21
export WORKDIR=/opt/android
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x
WORKDIR=/opt/android
CW_DIR=${WORKDIR}/cake_wallet
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x
WORKDIR=/opt/android
CW_EXRTERNAL_DIR=${WORKDIR}/output/android
+2
View File
@@ -7,3 +7,5 @@ services:
MONERO_BRANCH: release-v0.18.2.2-android
volumes:
- ./output:/opt/android/output
- ./cache/dotcache:/root/.cache
- ./cache/dotccache:/root/.ccache
Regular → Executable
+7
View File
@@ -1,4 +1,11 @@
#!/bin/bash
set -x -e
ls /opt/android
rm -rf monero haven
./build_monero.sh
./build_haven.sh
./copy_monero_deps.sh
./copy_haven_deps.sh
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
ARCH=$1
PREFIX=$2
Regular → Executable
+4 -2
View File
@@ -1,4 +1,6 @@
#!/bin/bash
set -x -e
ARCH=$1
PREFIX=$2
@@ -17,6 +19,6 @@ echo $BOOST_SHA256 $BOOST_FILE_PATH | sha256sum -c - || exit 1
cd $WORKDIR
rm -rf $BOOST_SRC_DIR
rm -rf $PREFIX/include/boost
tar -xvf $BOOST_FILE_PATH -C $WORKDIR
tar -xf $BOOST_FILE_PATH -C $WORKDIR
cd $BOOST_SRC_DIR
./bootstrap.sh --prefix=${PREFIX}
./bootstrap.sh --prefix=${PREFIX} --with-toolset=gcc
Regular → Executable
+1
View File
@@ -1,4 +1,5 @@
#!/bin/bash
set -x -e
. ./config.sh
TOOLCHAIN_DIR=${WORKDIR}/toolchain