mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-23 06:38:35 +02:00
Wownero (#1485)
* 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:
co-authored by
Rafael Saes
Czarek Nakamoto
M
Konstantin Ullrich
Matthew Fosse
parent
a319e10156
commit
36eacd8698
@@ -1 +1,2 @@
|
||||
output/
|
||||
cache/
|
||||
Regular → Executable
+39
-3
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Regular → Executable
+9
-1
@@ -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
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -x -e
|
||||
|
||||
. ./config.sh
|
||||
export ICONV_FILENAME=libiconv-1.16.tar.gz
|
||||
|
||||
Regular → Executable
+1
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -x -e
|
||||
|
||||
. ./config.sh
|
||||
|
||||
|
||||
Regular → Executable
+1
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -x -e
|
||||
|
||||
set -e
|
||||
|
||||
|
||||
Regular → Executable
+1
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -x -e
|
||||
|
||||
. ./config.sh
|
||||
SODIUM_SRC_DIR=${WORKDIR}/libsodium
|
||||
|
||||
Regular → Executable
+1
-1
@@ -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
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -x -e
|
||||
|
||||
. ./config.sh
|
||||
ZMQ_SRC_DIR=$WORKDIR/libzmq
|
||||
|
||||
Regular → Executable
+1
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -x -e
|
||||
|
||||
export API=21
|
||||
export WORKDIR=/opt/android
|
||||
|
||||
Regular → Executable
+1
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -x
|
||||
|
||||
WORKDIR=/opt/android
|
||||
CW_DIR=${WORKDIR}/cake_wallet
|
||||
|
||||
Regular → Executable
+1
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -x
|
||||
|
||||
WORKDIR=/opt/android
|
||||
CW_EXRTERNAL_DIR=${WORKDIR}/output/android
|
||||
|
||||
Regular → Executable
+2
@@ -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
@@ -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
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -x -e
|
||||
|
||||
ARCH=$1
|
||||
PREFIX=$2
|
||||
|
||||
Regular → Executable
+4
-2
@@ -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
@@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -x -e
|
||||
|
||||
. ./config.sh
|
||||
TOOLCHAIN_DIR=${WORKDIR}/toolchain
|
||||
|
||||
Reference in New Issue
Block a user