Skip to content
Merged

Staging #1118

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
233 commits
Select commit Hold shift + click to select a range
0d8df43
Add fastlane metadata
singpolyma Nov 15, 2024
925b58b
fix frost wallet init address error
julian-CStack Nov 29, 2024
840b6f9
fix mnemonic blank on mobile back up screen
julian-CStack Dec 3, 2024
86e3bf0
improve SWB restore performance when a large number of wallets is inv…
julian-CStack Dec 3, 2024
64dd830
fix new xmr/wow wallet creation when specifying mnemonic length
julian-CStack Dec 3, 2024
c3a64b1
No idea why this was changed but it causes problems so I am reverting it
julian-CStack Dec 3, 2024
465a8b4
Merge branch 'staging' into frost-init-fix
julian-CStack Dec 3, 2024
a74c565
Merge pull request #1041 from cypherstack/frost-init-fix
julian-CStack Dec 3, 2024
cd068ee
xmr/wow show tx spend key option
julian-CStack Dec 4, 2024
9eb233e
Merge pull request #1043 from cypherstack/tx-key
julian-CStack Dec 4, 2024
3f8cf25
disable wownero 14 word seeds
julian-CStack Dec 5, 2024
4a59505
fuzzy logic. Better safe than sorry
julian-CStack Dec 5, 2024
ec1b5d7
fix: propagate restore errors correctly. Should fix https://github.co…
julian-CStack Dec 9, 2024
e9252a4
fix: ensure xmr/wow transactions updated on balance changed
julian-CStack Dec 9, 2024
fed7ae9
fix: frost reshare issue when initiator is a new participant of a 1/2…
julian-CStack Dec 9, 2024
937550c
fix: xmr/wow node connection was replacing onion addresses with an em…
julian-CStack Dec 9, 2024
71609c3
feat: allow setting the restore/refresh height in xmr/wow wallets
julian-CStack Dec 10, 2024
2873595
chore: use libsecret mirror due to instability of gitlab.gnome.org
julian-CStack Dec 11, 2024
4af7243
feat: xmrrpc (and wowrpc) uri parsing + tests
julian-CStack Dec 11, 2024
cdf2dd8
feat: xmrrpc (and wowrpc) node uri scanning ui for adding new nodes
julian-CStack Dec 11, 2024
e749c62
chore: satisfy linter
julian-CStack Dec 11, 2024
3adddc2
fix: possible race condition when processing desktop qr data by retur…
julian-CStack Dec 11, 2024
1209521
fix: Linux qr scan would previously load the last scanned data if it …
julian-CStack Dec 12, 2024
9c64ed6
chore: update deps
julian-CStack Dec 12, 2024
c56038c
fix: Prevent failed keys fetch from disabling display of mnemonic
julian-CStack Dec 12, 2024
2e0ac0b
chore: extra logging
julian-CStack Dec 12, 2024
eeb595e
fix: Update device-locale dep version to handle linux crashes with ce…
julian-CStack Dec 12, 2024
e9aa2d6
fix: force override of a dep we don't even use so that sqlite doesn't…
julian-CStack Dec 12, 2024
34ad1d9
Merge pull request #1052 from cypherstack/julian
rehrar Dec 13, 2024
744f273
WIP: fix electrumx failovers, add some "default" firo nodes, and twea…
julian-CStack Dec 14, 2024
d6aec00
WIP: paginated spark anon set prep
julian-CStack Dec 14, 2024
ae10bef
fix: updated spark data calls and caching
julian-CStack Dec 16, 2024
c1ef988
reduced pings
julian-CStack Dec 16, 2024
1884bfb
fix: tweak sync percent feature and track progress during spark anon …
julian-CStack Dec 16, 2024
2028505
fix: spark coin confirmations issue
julian-CStack Dec 17, 2024
4439ad7
fix: incremental spark data cache
julian-CStack Dec 17, 2024
f97ef50
fix: update hash format and use better sector/page size
julian-CStack Dec 17, 2024
0e32e8a
fix: Issue where spark spend may not have appeared as confirmed
julian-CStack Dec 17, 2024
ba1ab97
chore: build runner
julian-CStack Dec 17, 2024
4fc2a7a
fix: optional cast error
julian-CStack Dec 18, 2024
d64c344
feat: handle test monero node authentication
Cyrix126 Dec 24, 2024
1137b50
fix: #1061
Cyrix126 Dec 26, 2024
516b503
use monero_rpc from pub dev
Cyrix126 Dec 27, 2024
b44cde3
fix: no 24 words option for restoring namecoin wallet
Cyrix126 Jan 6, 2025
4c7cb0c
Merge branch 'staging' into node_auth
julian-CStack Jan 13, 2025
2aa548e
Merge pull request #1063 from Cyrix126/node_auth
julian-CStack Jan 13, 2025
130895a
fix: update logins even if null
Cyrix126 Jan 13, 2025
22f9d4c
Merge branch 'staging' into fix_1061
julian-CStack Jan 13, 2025
975fe73
Merge pull request #1062 from Cyrix126/fix_1061
julian-CStack Jan 13, 2025
e7ad498
Merge branch 'staging' into fastlane
julian-CStack Jan 13, 2025
ad66702
Merge pull request #1020 from singpolyma/fastlane
julian-CStack Jan 13, 2025
0d1bf58
fix: incorrect number of confirms for monero (and wownero) outputs an…
julian-CStack Jan 13, 2025
38e66bf
chore: update pubspec.lock
julian-CStack Jan 13, 2025
a01dce1
Only fetch full monero transactions via ffi if required
julian-CStack Jan 14, 2025
1a094d3
update test
julian-CStack Jan 14, 2025
cb11d58
fix: double encoded qr address prefix
julian-CStack Jan 15, 2025
128dc14
update min flutter/dart sdk
julian-CStack Jan 29, 2025
9bd343c
obscure seed words while restoring in progress
julian-CStack Jan 29, 2025
ab45068
clarify checking of new/unmined spark coins
julian-CStack Jan 29, 2025
1a3a09a
firo balance type button changes
julian-CStack Jan 29, 2025
6c31e46
desktop single coin wallet delete ui fix
julian-CStack Jan 30, 2025
1d9b2e3
update trocador api
julian-CStack Jan 30, 2025
75f6e65
expose firo advanced features in dev options
julian-CStack Jan 31, 2025
90e4211
option to rescan on lelantus scanning enable
julian-CStack Jan 31, 2025
de04733
WIP updated logging
julian-CStack Feb 1, 2025
b05f664
disable logs location selection on macos for now
julian-CStack Feb 5, 2025
452f4a7
macos file entitlements for updated file picker to allow SWB save/load
julian-CStack Feb 5, 2025
b9ed3ae
update file_picker
julian-CStack Feb 5, 2025
176f0ba
clean up some prints and use logging instead in some places
julian-CStack Feb 5, 2025
68c7ba6
log level preference
julian-CStack Feb 5, 2025
4589e42
refactor log function name
julian-CStack Feb 5, 2025
c4db10c
add deprecated message
julian-CStack Feb 5, 2025
2dfacd4
Merge pull request #1082 from cypherstack/logging
julian-CStack Feb 5, 2025
694910a
replace deprecated logd function, clean up some logging and fix some …
julian-CStack Feb 6, 2025
8ca4421
adjust log level privacy warning text
julian-CStack Feb 6, 2025
0240869
log some extra wallet info
julian-CStack Feb 6, 2025
56314e7
Replace vapigen with valac for Ubuntu 20.04 build docs
sneurlax Feb 24, 2025
1c6b84c
Merge branch 'staging' into sneurlax-patch-1
julian-CStack Feb 25, 2025
5169dfd
Merge pull request #1085 from cypherstack/sneurlax-patch-1
julian-CStack Feb 25, 2025
2e737b5
build runner update mocks
julian-CStack Feb 13, 2025
0623023
WIP names
julian-CStack Feb 13, 2025
c277cd9
update namecoin_dart version
julian-CStack Feb 13, 2025
3ea469b
use private key for deterministic salt
julian-CStack Feb 13, 2025
5a39bb2
auto focus cursor in search field on desktop
julian-CStack Feb 13, 2025
873fc63
consistent log level edit
julian-CStack Feb 13, 2025
6d29140
hack in name op utxo confirmation check
julian-CStack Feb 13, 2025
69b3e9b
handle name op output selection based on name op type
julian-CStack Feb 13, 2025
cdffec8
refactor auto register NAME NEW process
julian-CStack Feb 13, 2025
534ee51
update namecoin dns More option name and icon
julian-CStack Feb 13, 2025
f1e1bd0
WIP names gui
julian-CStack Feb 14, 2025
667f2f5
change particl default address type to old
julian-CStack Feb 18, 2025
cd9907d
WIP: namecoin domain name buy and add record ui
julian-CStack Feb 18, 2025
51b0cc1
add method to check for and ignore name outputs in balance
julian-CStack Feb 18, 2025
321cf85
clean up record info display
julian-CStack Feb 18, 2025
63474ac
better base dialog widget
julian-CStack Feb 18, 2025
116b574
validate name value length
julian-CStack Feb 19, 2025
7cdbe58
show error dialog
julian-CStack Feb 19, 2025
06b0584
better encoding
julian-CStack Feb 19, 2025
0d1bfc1
clean up logging
julian-CStack Feb 19, 2025
ad07d7a
fix: pop buy name dialog on success
julian-CStack Feb 19, 2025
a576e45
WIP: namecoin names desktop/mobile specific layout tweaks, and variou…
julian-CStack Feb 20, 2025
ae97d3c
domain name input length restriction
julian-CStack Feb 20, 2025
edaaeda
clean up domain names management ui somewhat
julian-CStack Feb 20, 2025
9fc6368
WIP: manage domain ui
julian-CStack Feb 21, 2025
05767de
name tx note tweaks
julian-CStack Feb 24, 2025
6539b75
mobile/desktop name ui clean up and transfer name functionality
julian-CStack Feb 24, 2025
7dd919f
disable manage for pre reg names for now
julian-CStack Feb 24, 2025
29802dd
update name functionality w/ basic json pretty view
julian-CStack Feb 25, 2025
ed65ab5
flutter version update
julian-CStack Feb 25, 2025
44f0d0d
flutter_libmonero is no more
julian-CStack Feb 25, 2025
03dcb2b
update barcode_scan2 for flutter 3.29.0
julian-CStack Feb 25, 2025
fd223dd
android build files ignore
julian-CStack Feb 25, 2025
5ddde67
hide zero lelantus balance on desktop
julian-CStack Feb 26, 2025
3146f4d
WIP firo balance display desktop
julian-CStack Feb 26, 2025
48d2ac5
firo desktop wallet header refactor
julian-CStack Feb 26, 2025
60d47f2
update sparkmobile lib
julian-CStack Feb 26, 2025
bf5bfc3
fix: use trocador provider icons
detherminal Mar 12, 2025
7439dbf
Merge pull request #1092 from detherminal/staging
julian-CStack Mar 13, 2025
dbc805e
update liblelantus submodule
julian-CStack Mar 13, 2025
709eebc
update frostdart submodule
julian-CStack Mar 13, 2025
2edfe0f
xelis boiler plate early setup
Tritonn204 Jan 28, 2025
2061eba
xelis CryptoCurrency definition added, bridged wallet wrapper started
Tritonn204 Jan 29, 2025
34cee82
added xelis enum variants
Tritonn204 Jan 29, 2025
5f9466c
build script + dep updates, xelis library integration progress
Tritonn204 Feb 6, 2025
96478de
gitignore
Tritonn204 Feb 6, 2025
24a2023
Xelis base integration
Tritonn204 Feb 12, 2025
7a3558e
Slight polish for Xelis integration
Tritonn204 Feb 12, 2025
c6bff81
Android works
Tritonn204 Feb 14, 2025
e1964ea
adjusted for xelis flutter refactor
Tritonn204 Feb 14, 2025
1463ea7
Xelis price service added, wallet storage bugs fixed, updated to appl…
Tritonn204 Feb 15, 2025
e04efc7
Apple/iOS builds working (with PRs from plugins)
Tritonn204 Feb 16, 2025
2f02d4d
removed Xelis lib from build scripts
Tritonn204 Feb 16, 2025
0dad4ad
updated linux devops for new Xelis flutter setup, fixed Xelis fee est…
Tritonn204 Feb 17, 2025
102fab5
updated price_test, corrected outgoing tx db entries for xelis
Tritonn204 Feb 17, 2025
8b41d0b
xelis_flutter branch switch adopted
Tritonn204 Feb 20, 2025
a06945b
xelis_flutter correction
Tritonn204 Feb 20, 2025
2879e5b
updated fee estimation params in xelis_flutter
Tritonn204 Feb 20, 2025
8c6f660
libepiccash build script corrections, pubspec template adjusted for s…
Tritonn204 Feb 26, 2025
f56519e
svg change reversal
Tritonn204 Feb 27, 2025
0ed0ef3
removed frostdart from windows build scripts
Tritonn204 Feb 27, 2025
448fd0c
keep version update without frostdart in windows build scripts
Tritonn204 Feb 27, 2025
c1cd986
removed xelis submodule in favor of git tag dependency
Tritonn204 Mar 11, 2025
4e26e4c
updated dep template
Tritonn204 Mar 11, 2025
f7b7362
added port information to xelis connection invocations
Tritonn204 Mar 12, 2025
dd67d2f
reversions and deletions as per request
Tritonn204 Mar 13, 2025
0d20cb6
remove logging package from test_node_connection
Tritonn204 Mar 13, 2025
08c5a5f
macos tweaks and updates
julian-CStack Mar 13, 2025
0f7e44f
rebase cleanup + xelis bug fixes
Tritonn204 Mar 14, 2025
4feb14c
updated rust logging method, added mnemonic word validation for Xelis
Tritonn204 Mar 15, 2025
6e725a5
removed comment
Tritonn204 Mar 15, 2025
30dedee
ios tweaks and updates
julian-CStack Mar 17, 2025
6b33aee
Merge pull request #1084 from Tritonn204/main
julian-CStack Mar 17, 2025
e39c817
Merge remote-tracking branch 'origin_sw/apple_updates' into xelis
julian-CStack Mar 17, 2025
b190907
pubspec lock update
julian-CStack Mar 17, 2025
fe2514e
lint and code formatting
julian-CStack Mar 17, 2025
c24935d
logging change
julian-CStack Mar 17, 2025
8e703f1
temp libspark fix
julian-CStack Mar 17, 2025
441bc8c
feat: update flutter_libepiccash
sneurlax Mar 17, 2025
564c3ba
update default themes
julian-CStack Mar 17, 2025
b3e02b6
use standard app dir
julian-CStack Mar 17, 2025
5adfee8
Use logger
julian-CStack Mar 17, 2025
1cddb14
feat: detect bitcoin/monero uri's
detherminal Mar 17, 2025
d835b14
fix: controller positioning
detherminal Mar 18, 2025
ce5d9d4
use Platform.pathSeparator
julian-CStack Mar 18, 2025
6361d9f
WIP: wallet exists check
julian-CStack Mar 18, 2025
2298a12
update themes
julian-CStack Mar 18, 2025
6e04f8e
Xelis updates. configured Unix line endings repo-wide
Tritonn204 Mar 19, 2025
a40fdfe
Merge branch 'xelis' of https://github.com/cypherstack/stack_wallet i…
Tritonn204 Mar 19, 2025
8f5d17d
close on restore for all ExternalWallet instances
Tritonn204 Mar 19, 2025
e07d878
Merge pull request #1099 from Tritonn204/xelis
julian-CStack Mar 19, 2025
f77950d
ensure fee amount is formatted correctly to String
julian-CStack Mar 20, 2025
fe43785
more logging
julian-CStack Mar 20, 2025
574d0e8
Merge pull request #1100 from cypherstack/apple_updates
julian-CStack Mar 20, 2025
65782bb
Merge remote-tracking branch 'origin/staging' into xelis
julian-CStack Mar 20, 2025
e4ac7d8
add missing continue;
julian-CStack Mar 20, 2025
8c48930
fix: update flutter_libepiccash to main
sneurlax Mar 20, 2025
87101c8
Merge remote-tracking branch 'origin/staging' into epic
sneurlax Mar 20, 2025
b32ec57
Merge pull request #1098 from cypherstack/epic
julian-CStack Mar 20, 2025
a503861
Merge remote-tracking branch 'origin/staging' into xelis
julian-CStack Mar 20, 2025
176ed0f
Xelis init/open refactor
Tritonn204 Mar 20, 2025
302ceaa
Merge branch 'xelis' into xelis
Tritonn204 Mar 20, 2025
ae0631a
reversed investigative changes
Tritonn204 Mar 20, 2025
e18a254
Merge branch 'xelis' of https://github.com/Tritonn204/stack_wallet in…
Tritonn204 Mar 20, 2025
22ff0b1
Merge pull request #1101 from Tritonn204/xelis
julian-CStack Mar 20, 2025
78b4e2d
Added initCompleter for Xelis
Tritonn204 Mar 21, 2025
50163b5
Merge branch 'cypherstack:xelis' into xelis
Tritonn204 Mar 21, 2025
4431d8c
re-enabled null checks for Xelis afer open()
Tritonn204 Mar 21, 2025
03f4b2f
removed init finally{} block for Xelis
Tritonn204 Mar 21, 2025
7cf966c
Merge pull request #1103 from Tritonn204/xelis
julian-CStack Mar 21, 2025
42d7275
removed print
Tritonn204 Mar 21, 2025
37f318a
linting, formatting, small cleanups, and an extra logging call
julian-CStack Mar 21, 2025
3118968
Merge pull request #1102 from cypherstack/xelis
julian-CStack Mar 21, 2025
15a7a34
Merge branch 'cypherstack:staging' into staging
detherminal Mar 21, 2025
3fbc6da
feat: use _applyUri for paste
detherminal Mar 21, 2025
f1014a6
Merge pull request #1097 from detherminal/staging
julian-CStack Mar 24, 2025
815c16a
NDK and gradle updates
julian-CStack Mar 26, 2025
d789ae1
feat: use NDK 28, fix epic on android, remove automatic cbindgen use
sneurlax Mar 26, 2025
dabb2aa
fix: update scripts and docs re: rust verion, ie 1.67.1->1.81
sneurlax Mar 24, 2025
ec2777b
update coinlib and sparkmobile
julian-CStack Mar 26, 2025
6f8c600
fix: Windows Epic example and build scripts
sneurlax Mar 27, 2025
65e6c50
Merge pull request #1104 from cypherstack/epic
julian-CStack Mar 26, 2025
72fa218
update liblelantus
julian-CStack Mar 27, 2025
a62b580
clean up scripts
julian-CStack Mar 27, 2025
3251159
update docs re rust version
julian-CStack Mar 27, 2025
02fec3d
Merge pull request #1105 from cypherstack/gradle_ndk
julian-CStack Mar 27, 2025
5bb7813
revert to switching rust versions as required
julian-CStack Mar 27, 2025
fcc2df5
Merge pull request #1106 from cypherstack/back2multi_rust
julian-CStack Mar 27, 2025
321ae2e
New TX typing bug fix for
Tritonn204 Mar 28, 2025
86e8c38
Merge branch 'staging' into xelis
julian-CStack Mar 28, 2025
a1b4a35
Merge pull request #1107 from Tritonn204/xelis
julian-CStack Mar 28, 2025
ce639c9
docs update
julian-CStack Mar 28, 2025
cfba818
temporary git ref updates for testing
julian-CStack Mar 28, 2025
93212d7
update merged refs
julian-CStack Mar 28, 2025
d2e77c9
handle nanswaps api response change
julian-CStack Mar 28, 2025
913a4ac
add explicit cast and type check
julian-CStack Mar 28, 2025
906c2c3
Merge pull request #1109 from cypherstack/cargo_ndk_3
julian-CStack Mar 28, 2025
d9acb67
update liblelantus ref
julian-CStack Mar 29, 2025
f43a0ba
Merge pull request #1110 from cypherstack/ios-min-ver-ref
julian-CStack Mar 29, 2025
29416bd
update spark ref and coinlib with win build fix
julian-CStack Apr 1, 2025
6534bf6
Merge pull request #1112 from cypherstack/spark-win-fix
julian-CStack Apr 1, 2025
b435838
fix bad patch
julian-CStack Apr 1, 2025
56bcc23
fixed path separator on windows, decouple fee calculation from transf…
Tritonn204 Apr 14, 2025
422c191
windows secp script fix
Tritonn204 Apr 14, 2025
27dd2a2
moved to org xelis repo
Tritonn204 Apr 14, 2025
a4de7d3
windows secp script fix
Tritonn204 Apr 14, 2025
13d23a4
tx fee fully fixed
Tritonn204 Apr 15, 2025
7c408a1
updated to xelis_flutter v0.1.1
Tritonn204 Apr 15, 2025
f45f8cf
updated gitignore
Tritonn204 Apr 15, 2025
7f69eb8
git commit -m "Stop tracking Microsoft.Windows* files and folders"
Tritonn204 Apr 15, 2025
6aa6b8c
gitignore fix
Tritonn204 Apr 15, 2025
89f55c7
remove libtinfo5.deb
Tritonn204 Apr 15, 2025
aa53690
switched back to native path separators for Xelis
Tritonn204 Apr 15, 2025
2aedb15
Merge pull request #1117 from Tritonn204/xelis-patch
julian-CStack Apr 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 9 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
# is commented out by default.
#.vscode/

#CppWinRT manual install
Microsoft.Windows*

# Flutter/Dart/Pub related
**/doc/api/
.dart_tool/
Expand All @@ -29,6 +32,7 @@
.pub-cache/
.pub/
/build/
android/app/.cxx

# Web related
lib/generated_plugin_registrant.dart
Expand Down Expand Up @@ -58,8 +62,6 @@ coverage
scripts/**/build
/lib/external_api_keys.dart

libcw_monero.dll
libcw_wownero.dll
libepic_cash_wallet.dll
libmobileliblelantus.dll
libtor_ffi.dll
Expand All @@ -69,6 +71,10 @@ secp256k1.dll
/lib/app_config.g.dart
/android/app/src/main/app_icon-playstore.png

# Dart generated files (Freezed, Riverpod, GoRouter etc..)
lib/**/*.g.dart
lib/**/*.freezed.dart

## other generated project files

pubspec.yaml
Expand Down Expand Up @@ -105,3 +111,4 @@ scripts/linux/build/libsecret/subprojects/gi-docgen/.meson-subproject-wrap-hash.

crypto_plugins/cs_monero/built_outputs
crypto_plugins/cs_monero/build
crypto_plugins/*.diff
2 changes: 1 addition & 1 deletion android/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
2 changes: 1 addition & 1 deletion android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
2 changes: 1 addition & 1 deletion android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ pluginManagement {

plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version '8.6.0' apply false
id "com.android.application" version '8.7.0' apply false
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
}

Expand Down
Binary file modified asset_sources/default_themes/stack_duo/dark.zip
Binary file not shown.
Binary file modified asset_sources/default_themes/stack_duo/light.zip
Binary file not shown.
Binary file modified asset_sources/default_themes/stack_wallet/dark.zip
Binary file not shown.
Binary file modified asset_sources/default_themes/stack_wallet/light.zip
Binary file not shown.
2 changes: 1 addition & 1 deletion crypto_plugins/flutter_libepiccash
Submodule flutter_libepiccash updated 47 files
+4 −5 .gitignore
+16 −1 LICENSE
+12 −4 README.md
+10 −12 android/build.gradle
+1 −1 android/src/main/AndroidManifest.xml
+1 −0 example/android/.gitignore
+13 −40 example/android/app/build.gradle
+2 −3 example/android/app/src/debug/AndroidManifest.xml
+17 −9 example/android/app/src/main/AndroidManifest.xml
+1 −2 example/android/app/src/main/kotlin/com/example/flutter_libepiccash_example/MainActivity.kt
+2 −3 example/android/app/src/profile/AndroidManifest.xml
+0 −31 example/android/build.gradle
+21 −0 example/android/build.gradle.kts
+2 −1 example/android/gradle.properties
+1 −1 example/android/gradle/wrapper/gradle-wrapper.properties
+0 −11 example/android/settings.gradle
+25 −0 example/android/settings.gradle.kts
+0 −160 example/lib/advanced_functions_view.dart
+74 −24 example/lib/mnemonic_view.dart
+0 −1 example/lib/password_view.dart
+108 −135 example/lib/recover_view.dart
+282 −0 example/lib/wallet_info_view.dart
+213 −57 example/lib/wallet_management_view.dart
+72 −35 example/lib/wallet_name.dart
+15 −15 example/pubspec.lock
+3 −0 example/windows/CMakeLists.txt
+6 −1 example/windows/flutter/CMakeLists.txt
+7 −0 example/windows/runner/CMakeLists.txt
+5 −5 example/windows/runner/Runner.rc
+2 −1 rust/.gitignore
+1,134 −701 rust/Cargo.lock
+16 −2 rust/Cargo.toml
+46 −0 rust/build.rs
+164 −0 rust/cbindgen.toml
+66 −0 rust/src/config.rs
+1,124 −0 rust/src/ffi.rs
+373 −1,814 rust/src/lib.rs
+65 −0 rust/src/listener.rs
+214 −0 rust/src/mnemonic.rs
+785 −0 rust/src/wallet.rs
+114 −0 rust/target/epic_cash_wallet.h
+7 −1 scripts/android/build_all.sh
+3 −3 scripts/android/config.sh
+1 −1 scripts/ios/build_all.sh
+1 −1 scripts/macos/build_all.sh
+5 −4 scripts/windows/build_all.ps1
+7 −0 windows/CMakeLists.txt
61 changes: 19 additions & 42 deletions docs/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ Here you will find instructions on how to install the necessary tools for buildi
The following instructions are for building and running on a Linux host. Alternatively, see the [Mac](#mac-host) and/or [Windows](#windows-host) section. This entire section (except for the Android Studio section) needs to be completed in WSL if building on a Windows host.

### Flutter
Install Flutter 3.24.3 by [following their guide](https://docs.flutter.dev/get-started/install/linux/desktop?tab=download#install-the-flutter-sdk). You can also clone https://github.com/flutter/flutter, check out the `3.24.3` tag, and add its `flutter/bin` folder to your PATH as in
Install Flutter 3.29.2 by [following their guide](https://docs.flutter.dev/get-started/install/linux/desktop?tab=download#install-the-flutter-sdk). You can also clone https://github.com/flutter/flutter, check out the `3.29.2` tag, and add its `flutter/bin` folder to your PATH as in
```sh
FLUTTER_DIR="$HOME/development/flutter"
git clone https://github.com/flutter/flutter.git "$FLUTTER_DIR"
cd "$FLUTTER_DIR"
git checkout 3.24.3
git checkout 3.29.2
echo 'export PATH="$PATH:'"$FLUTTER_DIR"'/bin"' >> "$HOME/.profile"
source "$HOME/.profile"
flutter precache
Expand All @@ -38,7 +38,7 @@ Use `Tools > SDK Manager` to install:
- `SDK Tools > Android SDK command line tools`
- `SDK Tools > CMake`
and for Android builds,
- `SDK Tools > Android SDK (API 30)`
- `SDK Tools > Android SDK (API 35)`
- `SDK Tools > NDK`

Then in `File > Settings > Plugins`, install the **Flutter** and **Dart** plugins and restart the IDE. In `File > Settings > Languages & Frameworks > Flutter > Editor`, enable auto format on save to match the project's code style. If you have problems with the Dart SDK, make sure to run `flutter` in a terminal to download it (use `source ~/.bashrc` to update your environment variables if you're still using the same terminal from which you ran `setup.sh`). Run `flutter doctor` to install any missing dependencies and review and agree to any license agreements.
Expand All @@ -58,7 +58,7 @@ sudo apt-get install libssl-dev curl unzip automake build-essential file pkg-con

For Ubuntu 20.04,
```
sudo apt-get install vapigen
sudo apt-get install valac
pip3 install --upgrade meson==0.64.1 markdown==3.4.1 markupsafe==2.1.1 jinja2==3.1.2 pygments==2.13.0 toml==0.10.2 typogrify==2.0.7 tomli==2.0.1
```

Expand All @@ -68,20 +68,13 @@ sudo apt install pipx libgcrypt20-dev libglib2.0-dev libsecret-1-dev
pipx install meson==0.64.1 markdown==3.4.1 markupsafe==2.1.1 jinja2==3.1.2 pygments==2.13.0 toml==0.10.2 typogrify==2.0.7 tomli==2.0.1
```

Install `libtinfo5` (required by [monero_c](https://github.com/MrCyjaneK/monero_c), should be dropped in the future):
```
wget http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb -O libtinfo5.deb \
&& apt install ./libtinfo5.deb \
&& rm libtinfo5.deb
```

Install [Rust](https://www.rust-lang.org/tools/install) via [rustup.rs](https://rustup.rs), the required Rust toolchains, and `cargo-ndk 2.12.7` with command:
Install [Rust](https://www.rust-lang.org/tools/install) via [rustup.rs](https://rustup.rs), the required Rust toolchains, and `cargo-ndk` with command:
```
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.bashrc
rustup install 1.67.1 1.71.0 1.72.0 1.73.0
rustup default 1.67.1
cargo install cargo-ndk --version 2.12.7 --locked
rustup install 1.85.1 1.81.0
rustup default 1.85.1
cargo install cargo-ndk
```

Android specific dependencies:
Expand Down Expand Up @@ -162,19 +155,6 @@ cd scripts
cd scripts
./build_app.sh -a stack_wallet -p linux
```
<!--
##### Remove system packages (may be needed for building flutter_libmonero)
[`flutter_libmonero`](https://github.com/cypherstack/flutter_libmonero) may have issues building due to conflicts with system packages: if so, follow this section.

Remove pre-installed system libraries for the following packages built by cryptography plugins in the crypto_plugins folder: `boost iconv libjson-dev libsecret openssl sodium unbound zmq`. You can use
```
sudo apt list --installed | grep boost
```
for example to find which pre-installed packages you may need to remove with `sudo apt remove`. Be careful, as some packages (especially boost) are linked to GNOME (GUI) packages: when in doubt, remove `-dev` packages first like with
```
sudo apt-get remove '^libboost.*-dev.*'
```
TODO: configure compiler to prefer built over system libraries. Should already use them? -->

#### Building plugins and configure for Windows
Install dependencies like MXE:
Expand Down Expand Up @@ -229,21 +209,21 @@ brew install brotli cairo coreutils gdbm gettext glib gmp libevent libidn2 libng
```
<!-- TODO: determine which of the above list are not needed at all. -->

Download and install [Rust](https://www.rust-lang.org/tools/install). [Rustup](https://rustup.rs/) is recommended for Rust setup. Use `rustc` to confirm successful installation. Install toolchains 1.67.1 and 1.72.0 and `cbindgen` and `cargo-lipo` too. You will also have to add the platform target(s) `aarch64-apple-ios` and/or `aarch64-apple-darwin`. You can use the command(s):
Download and install [Rust](https://www.rust-lang.org/tools/install). [Rustup](https://rustup.rs/) is recommended for Rust setup. Use `rustc` to confirm successful installation. Install toolchains 1.81.0 and 1.85.1 and `cbindgen` and `cargo-lipo` too. You will also have to add the platform target(s) `aarch64-apple-ios` and/or `aarch64-apple-darwin`. You can use the command(s):
```
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.bashrc
rustup install 1.67.1 1.71.0 1.72.0 1.73.0
rustup default 1.67.1
cargo install cargo-ndk --version 2.12.7 --locked
rustup install 1.85.1 1.81.0
rustup default 1.85.1
cargo install cargo-ndk
cargo install cbindgen cargo-lipo
rustup target add aarch64-apple-ios aarch64-apple-darwin
```

Optionally download [Android Studio](https://developer.android.com/studio) as an IDE and activate its Dart and Flutter plugins. VS Code may work as an alternative, but this is not recommended.

### Flutter
Install [Flutter](https://docs.flutter.dev/get-started/install) 3.24.3 on your Mac host by following [these instructions](https://docs.flutter.dev/get-started/install/macos). Run `flutter doctor` in a terminal to confirm its installation.
Install [Flutter](https://docs.flutter.dev/get-started/install) 3.29.2 on your Mac host by following [these instructions](https://docs.flutter.dev/get-started/install/macos). Run `flutter doctor` in a terminal to confirm its installation.

### Build plugins and configure
#### Building plugins for iOS
Expand Down Expand Up @@ -304,22 +284,19 @@ If the DLLs were built on the WSL filesystem instead of on Windows, copy the res

- `stack_wallet/crypto_plugins/flutter_libepiccash/scripts/windows/build/libepic_cash_wallet.dll`
- `stack_wallet/crypto_plugins/flutter_liblelantus/scripts/windows/build/libmobileliblelantus.dll`
<!--
- `stack_wallet/crypto_plugins/flutter_libmonero/scripts/windows/build/libcw_monero.dll`
- `stack_wallet/crypto_plugins/flutter_libmonero/scripts/windows/build/libcw_wownero.dll`
-->

<!-- TODO: script the copying or installation of libraries from WSL2 to the parent Windows host -->

Frostdart will be built by the Windows host later.

### Install Flutter on Windows host
Install Flutter 3.24.3 on your Windows host (not in WSL2) by [following their guide](https://docs.flutter.dev/get-started/install/windows/desktop?tab=download#install-the-flutter-sdk) or by cloning https://github.com/flutter/flutter, checking out the `3.24.3` tag, and adding its `flutter/bin` folder to your PATH as in
Install Flutter 3.29.2 on your Windows host (not in WSL2) by [following their guide](https://docs.flutter.dev/get-started/install/windows/desktop?tab=download#install-the-flutter-sdk) or by cloning https://github.com/flutter/flutter, checking out the `3.29.2` tag, and adding its `flutter/bin` folder to your PATH as in
```bat
@echo off
set "FLUTTER_DIR=%USERPROFILE%\development\flutter"
git clone https://github.com/flutter/flutter.git "%FLUTTER_DIR%"
cd /d "%FLUTTER_DIR%"
git checkout 3.24.3
git checkout 3.29.2
setx PATH "%PATH%;%FLUTTER_DIR%\bin"
echo Flutter setup completed. Please restart your command prompt.
```
Expand All @@ -329,9 +306,9 @@ Run `flutter doctor` in PowerShell to confirm its installation.
### Rust
Install [Rust](https://www.rust-lang.org/tools/install) on the Windows host (not in WSL2). Download the installer from [rustup.rs](https://rustup.rs), make sure it works on the commandline (you may need to open a new terminal), and install the following versions:
```
rustup install 1.67.1 1.71.0 1.72.0 1.73.0
rustup default 1.67.1
cargo install cargo-ndk --version 2.12.7 --locked
rustup install 1.85.1 1.81.0
rustup default 1.85.1
cargo install cargo-ndk
```

### Windows SDK and Developer Mode
Expand Down
1 change: 1 addition & 0 deletions fastlane/Appfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package_name("com.cypherstack.stackwallet")
Empty file.
11 changes: 11 additions & 0 deletions fastlane/metadata/android/en-US/full_description.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Stack Wallet is a fully open source cryptocurrency wallet. With an easy to use user interface and quick and speedy transactions, this wallet is ideal for anyone no matter how much they know about the cryptocurrency space. The app is actively maintained to provide new user friendly features.

Highlights include:
- 10 Different cryptocurrencies
- All private keys and seeds stay on device and are never shared.
- Easy backup and restore feature to save all the information that's important to you.
- Trading cryptocurrencies through our partners.
- Custom address book
- Favorite wallets with fast syncing
- Custom Nodes.
- Open source software.
Binary file added fastlane/metadata/android/en-US/images/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions fastlane/metadata/android/en-US/short_description.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
An open source, non-custodial cryptocurrency wallet.
28 changes: 15 additions & 13 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ PODS:
- connectivity_plus (0.0.1):
- Flutter
- ReachabilitySwift
- cs_monero_flutter_libs (0.0.1):
- cs_monero_flutter_libs_ios (0.0.1):
- Flutter
- device_info_plus (0.0.1):
- Flutter
Expand Down Expand Up @@ -87,8 +87,6 @@ PODS:
- "sqlite3 (3.46.0+1)":
- "sqlite3/common (= 3.46.0+1)"
- "sqlite3/common (3.46.0+1)"
- "sqlite3/dbstatvtab (3.46.0+1)":
- sqlite3/common
- "sqlite3/fts5 (3.46.0+1)":
- sqlite3/common
- "sqlite3/perf-threadsafe (3.46.0+1)":
Expand All @@ -97,8 +95,7 @@ PODS:
- sqlite3/common
- sqlite3_flutter_libs (0.0.1):
- Flutter
- "sqlite3 (~> 3.46.0+1)"
- sqlite3/dbstatvtab
- sqlite3 (~> 3.46.0)
- sqlite3/fts5
- sqlite3/perf-threadsafe
- sqlite3/rtree
Expand All @@ -112,12 +109,14 @@ PODS:
- Flutter
- wakelock_plus (0.0.1):
- Flutter
- xelis_flutter (0.0.1):
- Flutter

DEPENDENCIES:
- barcode_scan2 (from `.symlinks/plugins/barcode_scan2/ios`)
- coinlib_flutter (from `.symlinks/plugins/coinlib_flutter/darwin`)
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
- cs_monero_flutter_libs (from `.symlinks/plugins/cs_monero_flutter_libs/ios`)
- cs_monero_flutter_libs_ios (from `.symlinks/plugins/cs_monero_flutter_libs_ios/ios`)
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
- devicelocale (from `.symlinks/plugins/devicelocale/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`)
Expand All @@ -141,6 +140,7 @@ DEPENDENCIES:
- tor_ffi_plugin (from `.symlinks/plugins/tor_ffi_plugin/ios`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
- xelis_flutter (from `.symlinks/plugins/xelis_flutter/ios`)

SPEC REPOS:
trunk:
Expand All @@ -160,8 +160,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/coinlib_flutter/darwin"
connectivity_plus:
:path: ".symlinks/plugins/connectivity_plus/ios"
cs_monero_flutter_libs:
:path: ".symlinks/plugins/cs_monero_flutter_libs/ios"
cs_monero_flutter_libs_ios:
:path: ".symlinks/plugins/cs_monero_flutter_libs_ios/ios"
device_info_plus:
:path: ".symlinks/plugins/device_info_plus/ios"
devicelocale:
Expand Down Expand Up @@ -208,17 +208,19 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_ios/ios"
wakelock_plus:
:path: ".symlinks/plugins/wakelock_plus/ios"
xelis_flutter:
:path: ".symlinks/plugins/xelis_flutter/ios"

SPEC CHECKSUMS:
barcode_scan2: 0af2bb63c81b4565aab6cd78278e4c0fa136dbb0
coinlib_flutter: 9275e8255ef67d3da33beb6e117d09ced4f46eb5
connectivity_plus: 07c49e96d7fc92bc9920617b83238c4d178b446a
cs_monero_flutter_libs: 43cda3474c2bc907f2b2b5bb26fd89cb864fcfc6
cs_monero_flutter_libs_ios: fd353631682247f72a36493ff060d4328d6f720d
device_info_plus: 97af1d7e84681a90d0693e63169a5d50e0839a0d
devicelocale: 35ba84dc7f45f527c3001535d8c8d104edd5d926
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
file_picker: b159e0c068aef54932bb15dc9fd1571818edaf49
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_libepiccash: 36241aa7d3126f6521529985ccb3dc5eaf7bb317
flutter_libsparkmobile: 6373955cc3327a926d17059e7405dde2fb12f99f
Expand All @@ -231,14 +233,14 @@ SPEC CHECKSUMS:
lelantus: 417f0221260013dfc052cae9cf4b741b6479edba
local_auth_darwin: 66e40372f1c29f383a314c738c7446e2f7fdadc3
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c
package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
SDWebImage: 72f86271a6f3139cc7e4a89220946489d4b9a866
share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5
sqlite3: 292c3e1bfe89f64e51ea7fc7dab9182a017c8630
sqlite3_flutter_libs: c00457ebd31e59fa6bb830380ddba24d44fbcd3b
sqlite3_flutter_libs: 0d611efdf6d1c9297d5ab03dab21b75aeebdae31
stack_wallet_backup: 5b8563aba5d8ffbf2ce1944331ff7294a0ec7c03
SwiftProtobuf: 6ef3f0e422ef90d6605ca20b21a94f6c1324d6b3
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
Expand All @@ -248,4 +250,4 @@ SPEC CHECKSUMS:

PODFILE CHECKSUM: 57c8aed26fba39d3ec9424816221f294a07c58eb

COCOAPODS: 1.15.2
COCOAPODS: 1.16.2
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
Expand Down
Loading
Loading