wownero
/
wownerujo
Archived
4
0
Fork 0

Merge pull request #15 from fuwa0529/master

Update master
master
fuwa 5 years ago committed by GitHub
commit c31c209e36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -7,54 +7,56 @@ install \
gradle-build gradle-sign gradle-clean \ gradle-build gradle-sign gradle-clean \
apk-install remove-exif apk-install remove-exif
script := script/build-external-libs
all: build-external-libs all: build-external-libs
build-external-libs: clean-external-libs collect build-external-libs: clean-external-libs collect
clean-external-libs: clean-external-libs:
script/build-external-libs/clean.sh $(script)/clean.sh
toolchain: toolchain:
script/build-external-libs/prep-toolchain.sh $(script)/prep-toolchain.sh
openssl: toolchain openssl: toolchain
script/build-external-libs/fetch-openssl.sh $(script)/fetch-openssl.sh
script/build-external-libs/patch-openssl.sh $(script)/patch-openssl.sh
script/build-external-libs/build-openssl.sh $(script)/build-openssl.sh
script/build-external-libs/post-build-openssl.sh $(script)/post-build-openssl.sh
boost: toolchain boost: toolchain
script/build-external-libs/fetch-boost.sh $(script)/fetch-boost.sh
script/build-external-libs/build-boost.sh $(script)/build-boost.sh
libsodium: toolchain libsodium: toolchain
script/build-external-libs/fetch-libsodium.sh $(script)/fetch-libsodium.sh
script/build-external-libs/build-libsodium.sh $(script)/build-libsodium.sh
wownero: toolchain libsodium openssl boost wownero: toolchain openssl libsodium boost
script/build-external-libs/fetch-wownero.sh $(script)/fetch-wownero.sh
script/build-external-libs/patch-wownero.sh $(script)/patch-wownero.sh
script/build-external-libs/build-wownero.sh $(script)/build-wownero.sh
collect: wownero collect: wownero
script/build-external-libs/collect.sh $(script)/collect.sh
# dev shortcut # dev shortcut
# faster build for testing f-droid release # faster build for testing f-droid release
use-prebuilt-external-libs: use-prebuilt-external-libs:
script/build-external-libs/use-archive.sh $(script)/use-archive.sh
wownero-unsafe:
script/build-external-libs/fetch-wownero.sh
script/build-external-libs/patch-wownero.sh
script/build-external-libs/build-wownero.sh
collect-unsafe: unsafe-wownero:
script/build-external-libs/collect.sh $(script)/fetch-wownero.sh
$(script)/patch-wownero.sh
$(script)/build-wownero.sh
unsafe-collect:
$(script)/collect.sh
fdroid_apk_path := vendor/fdroiddata/unsigned fdroid_apk_path := vendor/fdroiddata/unsigned
@ -64,7 +66,6 @@ gradle_apk_path := app/build/outputs/apk/release
gradle_app_name := wownerujo-${gradle_app_version} gradle_app_name := wownerujo-${gradle_app_version}
f-droid-sign: f-droid-sign:
zipalign -v -p 4 \ zipalign -v -p 4 \
$(fdroid_apk_path)/$(app_id)_${app_version}.apk \ $(fdroid_apk_path)/$(app_id)_${app_version}.apk \
@ -78,20 +79,31 @@ f-droid-clean:
@rm -f $(fdroid_apk_path)/$(app_id)_${app_version}-aligned.apk @rm -f $(fdroid_apk_path)/$(app_id)_${app_version}-aligned.apk
@rm -f $(fdroid_apk_path)/$(app_id)_${app_version}-release.apk @rm -f $(fdroid_apk_path)/$(app_id)_${app_version}-release.apk
# release-build
install: gradle-build apk-install install: gradle-build apk-install
gradle-build: gradle-build:
./gradlew assembleRelease ./gradlew assembleRelease
apk-install:
adb install -r ./app/build/outputs/apk/release/wownerujo-$(gradle_app_version)_universal.apk
# debug-build
install-debug: gradle-build-debug apk-install-debug
gradle-build-debug:
./gradlew assembleDebug
apk-install-debug:
adb install -r ./app/build/outputs/apk/debug/wownerujo-$(gradle_app_version)_universal.apk
# clean
gradle-clean: gradle-clean:
@rm -f $(gradle_apk_path)/$(gradle_app_name)_universal.apk @rm -f $(gradle_apk_path)/$(gradle_app_name)_universal.apk
@rm -f $(gradle_apk_path)/$(gradle_app_name)_arm64-v8a.apk @rm -f $(gradle_apk_path)/$(gradle_app_name)_arm64-v8a.apk
@rm -f $(gradle_apk_path)/$(gradle_app_name)_armebi-v7a.apk @rm -f $(gradle_apk_path)/$(gradle_app_name)_armebi-v7a.apk
@rm -f $(gradle_apk_path)/$(gradle_app_name)_x86_64.apk @rm -f $(gradle_apk_path)/$(gradle_app_name)_x86_64.apk
apk-install:
adb install -r ./app/build/outputs/apk/release/wownerujo-$(gradle_app_version)_universal.apk
remove-exif: remove-exif:
exiftool -all= `find app/ -name '*.jp*g' -o -name '*.png'` exiftool -all= `find app/ -name '*.jp*g' -o -name '*.png'`

@ -6,27 +6,22 @@ An Android Wallet for Wownero
height="80">](https://f-droid.org/packages/com.wownero.wownerujo/) height="80">](https://f-droid.org/packages/com.wownero.wownerujo/)
<a href='https://play.google.com/store/apps/details?id=com.wownero.wownerujo&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png' height='80'/></a> <a href='https://play.google.com/store/apps/details?id=com.wownero.wownerujo&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png' height='80'/></a>
## Preparing for upcoming Wownero v0.5
Some of the included remote nodes have been upgraded to Wownero v0.5, which are incompatible to the current released version of Wownerujo. Consider upgrading to the [beta channel], if you have your seed backed up and are using the Google Play store. Or you might consider running your own node, since you will need one eventually.
## QUICKSTART ## QUICKSTART
- Download the APK for the most current release [here](https://f-droid.org/packages/com.wownero.wownerujo/) and install it - Download it with the F-Droid app or the Google Play app.
- Run the App and select "Generate Wallet" to create a new wallet or recover a wallet - Run it and click `⊕` to create a new wallet or recover a wallet.
- Advanced users can copy over synced wallet files (all files) onto sdcard in directory Wownerujo (created first time App is started) - See the [FAQ](doc/FAQ.md).
- See the [FAQ](doc/FAQ.md)
## Disclaimer ## Disclaimer
You may lose all your Wowneroj if you use this App. Be cautious when spending on the mainnet. You may lose all your Wowneroj if you use this app.
## Random Notes ## Random Notes
- Based off wownero v0.4.0.0 - Based off Wownero v0.5.
- use your own daemon - it's easy - Use your own daemon.
- screen stays on until first sync is complete - Screen stays on until first sync is complete.
## HOW TO BUILD ## HOW TO BUILD
If you want to build the external libs yourself (recommended) check out [the instructions](doc/BUILDING-external-libs.md) If you want to build the external libs yourself (recommended) check out [the instructions](doc/BUILDING-external-libs.md).
Then, fire up Android Studio and build the APK. Then, fire up Android Studio and build the APK.

@ -127,9 +127,9 @@ add_library(epee STATIC IMPORTED)
set_target_properties(epee PROPERTIES IMPORTED_LOCATION set_target_properties(epee PROPERTIES IMPORTED_LOCATION
${EXTERNAL_LIBS_DIR}/monero/lib/${ANDROID_ABI}/libepee.a) ${EXTERNAL_LIBS_DIR}/monero/lib/${ANDROID_ABI}/libepee.a)
add_library(blocks STATIC IMPORTED) add_library(device_trezor STATIC IMPORTED)
set_target_properties(blocks PROPERTIES IMPORTED_LOCATION set_target_properties(device_trezor PROPERTIES IMPORTED_LOCATION
${EXTERNAL_LIBS_DIR}/monero/lib/${ANDROID_ABI}/libblocks.a) ${EXTERNAL_LIBS_DIR}/monero/lib/${ANDROID_ABI}/libdevice_trezor.a)
add_library(checkpoints STATIC IMPORTED) add_library(checkpoints STATIC IMPORTED)
set_target_properties(checkpoints PROPERTIES IMPORTED_LOCATION set_target_properties(checkpoints PROPERTIES IMPORTED_LOCATION
@ -173,7 +173,7 @@ target_link_libraries( monerujo
easylogging easylogging
unbound unbound
epee epee
blocks device_trezor
checkpoints checkpoints
device device
multisig multisig

@ -10,8 +10,8 @@ android {
// https://source.android.com/security/bulletin/2018-03-01 // https://source.android.com/security/bulletin/2018-03-01
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 28 targetSdkVersion 28
versionCode 1140 versionCode 1170
versionName '2.4.0.1' versionName '2.5.0.3'
// testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" // testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild { externalNativeBuild {
cmake { cmake {

@ -76,6 +76,10 @@ public class GenerateFragment extends Fragment {
private String type = null; private String type = null;
private static String[] tokenizeSeed(String seed) {
return seed.trim().split("\\s+");
}
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
@ -417,9 +421,11 @@ public class GenerateFragment extends Fragment {
return height; return height;
} }
private boolean checkMnemonic() { private boolean checkMnemonic() {
String seed = etWalletMnemonic.getEditText().getText().toString(); String seed = etWalletMnemonic.getEditText().getText().toString();
boolean ok = (seed.split("\\s+").length == 25); // 25 words boolean ok = (tokenizeSeed(seed).length == 25); // 25 words
if (!ok) { if (!ok) {
etWalletMnemonic.setError(getString(R.string.generate_check_mnemonic)); etWalletMnemonic.setError(getString(R.string.generate_check_mnemonic));
} else { } else {
@ -484,7 +490,7 @@ public class GenerateFragment extends Fragment {
} else if (type.equals(TYPE_SEED)) { } else if (type.equals(TYPE_SEED)) {
if (!checkMnemonic()) return; if (!checkMnemonic()) return;
String seed = etWalletMnemonic.getEditText().getText().toString(); String seed = etWalletMnemonic.getEditText().getText().toString();
seed = TextUtils.join(" ", seed.split("\\s+")); seed = TextUtils.join(" ", tokenizeSeed(seed));
bGenerate.setEnabled(false); bGenerate.setEnabled(false);
if (fingerprintAuthAllowed) { if (fingerprintAuthAllowed) {
KeyStoreHelper.saveWalletUserPass(getActivity(), name, password); KeyStoreHelper.saveWalletUserPass(getActivity(), name, password);

@ -51,9 +51,11 @@ public class RestoreHeight {
blockheight.put("2018-10", 52000L); blockheight.put("2018-10", 52000L);
blockheight.put("2018-11", 60000L); blockheight.put("2018-11", 60000L);
blockheight.put("2018-12", 66000L); blockheight.put("2018-12", 66000L);
blockheight.put("2019-01", 72000L);
blockheight.put("2019-02", 77000L);
} }
long latestHeight = 66000L; long latestHeight = 77000L;
public long getHeight(final Date date) { public long getHeight(final Date date) {
Timber.d("Restore Height date %s", date); Timber.d("Restore Height date %s", date);
@ -85,3 +87,4 @@ public class RestoreHeight {
return height; return height;
} }
} }

@ -50,21 +50,21 @@
<h2>Changes to this Privacy Policy</h2> <h2>Changes to this Privacy Policy</h2>
<p>We may update this privacy policy from time to time. We will notify <p>We may update this privacy policy from time to time. We will notify
you of any changes by posting the new privacy policy in the app and on the you of any changes by posting the new privacy policy in the app and on the
website (https://github.com/fuwa0529/wownerujo). website (https://github.com/wownero/wownerujo).
You are advised to review this privacy policy periodically for any changes. You are advised to review this privacy policy periodically for any changes.
<p>This Privacy Policy was last updated: 13th Oct, 2018. <p>This Privacy Policy was last updated: 13th Oct, 2018.
</p> </p>
<h2>Contact Us</h2> <h2>Contact Us</h2>
<p>If you have any questions about our privacy policy, <p>If you have any questions about our privacy policy,
or how your data is being collected and processed, or how your data is being collected and processed,
please visit https://github.com/fuwa0529/wownerujo please visit https://github.com/wownero/wownerujo
</p> </p>
]]></string> ]]></string>
<string name="about_licenses" translatable="false"><![CDATA[ <string name="about_licenses" translatable="false"><![CDATA[
<h1>Open Source Licenses</h1> <h1>Open Source Licenses</h1>
<h2>Licensed under the Apache License, Version 2.0</h2> <h2>Licensed under the Apache License, Version 2.0</h2>
<h3>Wownerujo (https://github.com/fuwa0529/wownerujo)</h3> <h3>Wownerujo (https://github.com/wownero/wownerujo)</h3>
Copyright (c) 2018 wownero.org Copyright (c) 2018 wownero.org
<br/><br/> <br/><br/>

@ -373,7 +373,7 @@
<string name="send_sweepall">Send all confirmed funds in this account!</string> <string name="send_sweepall">Send all confirmed funds in this account!</string>
<string name="tx_subaddress">Subaddress #%1$d</string> <string name="tx_subaddress">Subaddress #%1$d</string>
<string name="generate_address_label_sub">Public Subaddress #%1$d</string> <string name="generate_address_label_sub">Public Subaddress #%1$d</string>
<string name="default_restore_height">2018-12</string> <string name="default_restore_height">2019-02</string>
<string name="menu_language">Language</string> <string name="menu_language">Language</string>
<string name="language_system_default">Use System Language</string> <string name="language_system_default">Use System Language</string>
</resources> </resources>

@ -61,8 +61,9 @@ for arch in ${archs[@]}; do
perl -pi -e 's/SHLIB_MAJOR=1/SHLIB_MAJOR=`/g' Makefile perl -pi -e 's/SHLIB_MAJOR=1/SHLIB_MAJOR=`/g' Makefile
perl -pi -e 's/SHLIB_MINOR=0.0/SHLIB_MINOR=`/g' Makefile perl -pi -e 's/SHLIB_MINOR=0.0/SHLIB_MINOR=`/g' Makefile
make clean make clean
make depend -j $NPROC echo "building openssl for ${arch}..."
make all -j $NPROC make depend -j $NPROC > /dev/null 2>&1
make all -j $NPROC > /dev/null 2>&1
file libcrypto.so file libcrypto.so
file libssl.so file libssl.so

@ -3,7 +3,9 @@ ANDROID_NDK_ROOT="${ANDROID_NDK_ROOT:-${DEFAULT_ANDROID_NDK_ROOT}}"
export ANDROID_NDK_ROOT=`realpath $ANDROID_NDK_ROOT` export ANDROID_NDK_ROOT=`realpath $ANDROID_NDK_ROOT`
DEFAULT_EXTERNAL_LIBS_BUILD_ROOT=`pwd`/build/external-libs/ BUILD_PATH=../wownerujo-build
DEFAULT_EXTERNAL_LIBS_BUILD_ROOT=`pwd`/${BUILD_PATH}/external-libs/
EXTERNAL_LIBS_BUILD_ROOT="${EXTERNAL_LIBS_BUILD_ROOT:-${DEFAULT_EXTERNAL_LIBS_BUILD_ROOT}}" EXTERNAL_LIBS_BUILD_ROOT="${EXTERNAL_LIBS_BUILD_ROOT:-${DEFAULT_EXTERNAL_LIBS_BUILD_ROOT}}"
export EXTERNAL_LIBS_BUILD_ROOT=${EXTERNAL_LIBS_BUILD_ROOT%/} export EXTERNAL_LIBS_BUILD_ROOT=${EXTERNAL_LIBS_BUILD_ROOT%/}

@ -12,8 +12,8 @@ cd $EXTERNAL_LIBS_BUILD_ROOT
# url="$base_dir/vendor/wownero" # url="$base_dir/vendor/wownero"
url="https://github.com/wownero/wownero" url="https://github.com/wownero/wownero"
# url="https://github.com/wowario/wownero" # url="https://github.com/wowario/wownero"
version="v0.4.0.0" version="v0.5.0.0"
# version="0a97b3" # version="1b5cefa"
rm -rf wownero rm -rf wownero

@ -65,7 +65,7 @@ with nixpkgs;
graphviz graphviz
pkgconfig pkgconfig
androidsdk # androidsdk_9_0
vim vim
exiftool exiftool
@ -74,6 +74,7 @@ with nixpkgs;
autoconf autoconf
automake automake
gnum4 gnum4
androidenv.androidPkgs_9_0.platform-tools
] ]
++ android-studio-deps ++ android-studio-deps
) )
@ -95,8 +96,8 @@ with nixpkgs;
export _JAVA_AWT_WM_NONREPARENTING=1 export _JAVA_AWT_WM_NONREPARENTING=1
export app_version=1140 export app_version=1170
export gradle_app_version=2x4x0x1 export gradle_app_version=2x5x0x3
export release_key=~/.android/fuwa-release-key.jks export release_key=~/.android/fuwa-release-key.jks
export USE_CCACHE=1 export USE_CCACHE=1