Skip to content
Merged

Staging #1156

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
273 commits
Select commit Hold shift + click to select a range
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
e7cd14c
auto save format
julian-CStack Mar 25, 2025
bee49df
linter rule change due to dart 3.7
julian-CStack Mar 25, 2025
8eb9150
WIP spark names
julian-CStack Mar 25, 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
344a20f
Merge remote-tracking branch 'origin/staging' into sparknames
julian-CStack Apr 3, 2025
b1111d7
eth nonce in tx details view fix and a bunch of autoformat changes
julian-CStack Apr 3, 2025
637fb66
don't display fist price if fetch failed
julian-CStack Apr 4, 2025
5bd1bcb
update liblelantus ref
julian-CStack Apr 4, 2025
0f801cc
replace deprecated calls and formatting
julian-CStack Apr 4, 2025
84d63c2
fix eth sent amount display bug
julian-CStack Apr 4, 2025
17c43eb
log acceptable error as INFO (and some auto formatting)
julian-CStack Apr 4, 2025
724e5cd
don't refresh provider that is not used for eth
julian-CStack Apr 4, 2025
4b61ca3
auto format on save
julian-CStack Apr 5, 2025
0b4eafb
refactor eth transaction nonce fetching
julian-CStack Apr 5, 2025
9a67e1d
refactor eth token transaction fetch and update
julian-CStack Apr 5, 2025
b61ba0e
refactor desktop send fee info/selection to its own widget
julian-CStack Apr 7, 2025
72a1be1
remove conflicting analysis rule
julian-CStack Apr 7, 2025
7a153eb
remove old desktop fee selection dropdown, add nonce override field t…
julian-CStack Apr 7, 2025
3316b69
wip desktop custom eip-1559 fee ui
julian-CStack Apr 7, 2025
568c7c6
refactor eth gas tracker response data
julian-CStack Apr 7, 2025
fb6d35d
add eip-1559 fees fetch functionality
julian-CStack Apr 7, 2025
c23edb0
refactor FeeObject to use BigInt, add EthFeeObject, and of course a p…
julian-CStack Apr 7, 2025
289cc95
fix token fee display issue
julian-CStack Apr 7, 2025
ec4f7d8
feat: add block height option to scanned coins
detherminal Apr 8, 2025
cf5c2fc
desktop eth eip-1559 fees
julian-CStack Apr 8, 2025
566afd6
updated eth server
julian-CStack Apr 9, 2025
6c68f21
always log everything to console in debug mode
julian-CStack Apr 9, 2025
626b7d6
fix eth token balance response parsing
julian-CStack Apr 9, 2025
3614b1b
rough mobile custom eth fees ui
julian-CStack Apr 10, 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
54bb20f
check range
julian-CStack Apr 25, 2025
5c18e78
Merge branch 'cypherstack:staging' into staging
detherminal Apr 25, 2025
6344390
refactor: states and views of restore options
detherminal Apr 25, 2025
c88dbbc
fix https://github.com/cypherstack/stack_wallet/issues/1121
julian-CStack Apr 25, 2025
04631ac
fix https://github.com/cypherstack/stack_wallet/issues/1108
julian-CStack Apr 25, 2025
eda7c58
Merge pull request #1115 from detherminal/staging
julian-CStack Apr 25, 2025
7afdc55
Merge remote-tracking branch 'origin/staging' into april-bug-fixes
julian-CStack Apr 25, 2025
b40daff
use state provider and autoformatting
julian-CStack Apr 25, 2025
64eea6a
monero/wownero seed offset option on restore
julian-CStack Apr 25, 2025
e765175
parse port hack
julian-CStack Apr 26, 2025
50ff74e
add option to node model
julian-CStack Apr 26, 2025
df21a67
Merge pull request #1125 from cypherstack/april-bug-fixes
julian-CStack Apr 26, 2025
9e73ce2
Use changenow v2 api only and update swap to be able to use coin+netw…
julian-CStack Apr 26, 2025
a5554e0
possible fixed rate initial fetch fix
julian-CStack Apr 26, 2025
68adcac
feat(monero): enable local monero nodes via a "Bypass TOR" node option
sneurlax Apr 30, 2025
34ab89b
Merge pull request #1128 from cypherstack/local-monero
julian-CStack Apr 30, 2025
5a8d3b8
Feat: Add FACT0RN
NyanCatTW1 Apr 19, 2025
d51cb97
Merge remote-tracking branch 'origin/staging' into sparknames
julian-CStack May 5, 2025
3d25e8a
auto format
julian-CStack May 5, 2025
ce0bcad
add static overflow row widget
julian-CStack May 5, 2025
dddf2df
update spark names electrumx calls
julian-CStack May 6, 2025
6c7ffc7
WIP view spark names
julian-CStack May 6, 2025
836ff9e
Spark names gui and storage using drift with sqlite for caching
julian-CStack May 7, 2025
c20269d
fix name tx confirm send
julian-CStack May 9, 2025
21b8037
spark names
julian-CStack May 9, 2025
2073ab5
Re-order build docs, closes #1035.
danrmiller May 12, 2025
53cac99
Merge pull request #1130 from cypherstack/docs
julian-CStack May 12, 2025
fa538b6
adaptive desktop wallet features
julian-CStack May 5, 2025
7034608
global spark name cache service
julian-CStack May 12, 2025
7c1e94f
autoformat again
julian-CStack May 12, 2025
47d4646
allow sending to spark names**
julian-CStack May 12, 2025
b52830e
do some look ahead for spark name lookups
julian-CStack May 12, 2025
8b7e4e6
spark name ui tweaks
julian-CStack May 13, 2025
d66e9fc
Merge remote-tracking branch 'origin/staging' into sparknames
julian-CStack May 13, 2025
abc205c
Merge remote-tracking branch 'origin/staging' into swap-updates
julian-CStack May 13, 2025
edcbf03
Merge pull request #1131 from cypherstack/swap-updates
julian-CStack May 13, 2025
d47f86f
Merge remote-tracking branch 'origin/testing' into sparknames
julian-CStack May 13, 2025
3a81eb7
Merge pull request #1132 from cypherstack/sparknames
julian-CStack May 13, 2025
ac324e2
Merge remote-tracking branch 'origin/testing' into eth-edits
julian-CStack May 13, 2025
f873758
fix issues from mergefest
julian-CStack May 13, 2025
dda8240
Merge pull request #1133 from cypherstack/eth-edits
julian-CStack May 13, 2025
a1467a0
update flutter_libsparkmobile
julian-CStack May 13, 2025
496caf6
Merge remote-tracking branch 'origin/testing' into testing
julian-CStack May 13, 2025
d090eae
disable spark name transactions before they are enabled on chain
julian-CStack May 14, 2025
5db3c63
add mounted check
julian-CStack May 14, 2025
ace8a13
transaction broadcast error logging
julian-CStack May 14, 2025
3743590
get more info from eth rpc errors on send
julian-CStack May 14, 2025
90486f6
initial duress pin integration
julian-CStack May 14, 2025
6e08661
update mocks
julian-CStack May 16, 2025
d23f50b
refactor to descriptive function name
julian-CStack May 16, 2025
7d28ed8
fix: empty other data error
julian-CStack May 16, 2025
d6bc8be
hack in check for addresses that can contain colon in the uri parsing…
julian-CStack May 16, 2025
f5f4567
Merge pull request #1135 from cypherstack/testing
rehrar May 19, 2025
2bbe82d
Fix hardcoded android logs dir. Might fix https://github.com/cypherst…
julian-CStack May 19, 2025
b652d38
Merge pull request #1136 from cypherstack/duress-pin
rehrar May 19, 2025
9b8239b
fix: duress biometrics
julian-CStack May 20, 2025
b51e6a8
WIP: just android things...
julian-CStack May 21, 2025
3db7111
Merge pull request #1138 from cypherstack/julian
julian-CStack May 21, 2025
b1cc8d7
chore: add cs_salvium to pubspec
sneurlax May 22, 2025
1369d8f
feat: add wip salvium wallet files
sneurlax May 22, 2025
b8cbffd
chore: ignore working theme dir(s)
sneurlax May 22, 2025
d2a566e
fix mobile nav issue
julian-CStack May 23, 2025
a81a908
Merge pull request #1139 from cypherstack/spark-name-buy-navigation-r…
julian-CStack May 23, 2025
04f0d78
Merge remote-tracking branch 'origin/staging' into salvium
sneurlax May 23, 2025
b570d6e
feat: add libSalviumWallet workaround
sneurlax May 23, 2025
8029116
fix: add optional pendingSalviumTransaction to TxData
sneurlax May 23, 2025
c6cba7e
fix: HACK salvium wallets are "just" monero wallets--is probably bad
sneurlax May 23, 2025
078a709
fix: add Salvium to SW app config
sneurlax May 23, 2025
604fd8c
fix: use monero wordlist for salvium, too
sneurlax May 23, 2025
fa262c1
fix: sort Salvium alphabetically in the coins list
sneurlax May 23, 2025
5c41864
fix: add Salvium wallet handling
sneurlax May 23, 2025
27b6193
fix: add Salvium wallet handling
sneurlax May 23, 2025
dfbbc33
fix: handle Salvium wallets
sneurlax May 23, 2025
7749c0f
fix: only use 25 word salvium mnemonics
sneurlax May 23, 2025
bb0401c
fix: rip compat out
sneurlax May 23, 2025
3703127
fix: handle salvium wallets in more places
sneurlax May 23, 2025
554e898
fix: add missing import
sneurlax May 23, 2025
1cf6989
fix: more salvium stuff
sneurlax May 23, 2025
f2460c3
liberal use of `SafeArea`
julian-CStack May 26, 2025
8d51d90
autosave and organise
julian-CStack May 26, 2025
f24adaa
fix file exists error
julian-CStack May 26, 2025
97f5995
temporarily (lol) copy paste sync status stuff to quickly integrate s…
julian-CStack May 26, 2025
0872e72
hook up salvium wallet files deletion
julian-CStack May 26, 2025
f67940a
auto format
julian-CStack May 26, 2025
b6b63bc
fix: swap issues
julian-CStack May 27, 2025
397f496
clean up swap currency selection list items and add trocador warnings…
julian-CStack May 27, 2025
24c022a
pass full currency into incomplete exchange model
julian-CStack May 27, 2025
daf112e
hack in prevention of spark sends to trocador swaps
julian-CStack May 27, 2025
219164d
Merge pull request #1143 from cypherstack/julian
julian-CStack May 27, 2025
4a82e17
Merge branch 'factorn' into main
julian-CStack May 27, 2025
9c765c9
Merge pull request #1119 from NyanCatTW1/main
julian-CStack May 27, 2025
941b553
Fix factorn wallet overrides
julian-CStack May 28, 2025
b5d2be8
WIP: mobile camera permissions qr scanning clean up
julian-CStack May 28, 2025
d831ef4
update themes
julian-CStack May 28, 2025
aaac3e7
use published salvium
julian-CStack May 28, 2025
88931fa
Merge remote-tracking branch 'origin/staging' into salvium
julian-CStack May 28, 2025
0fcfdac
Merge pull request #1144 from cypherstack/salvium
julian-CStack May 28, 2025
c89d6c3
Merge remote-tracking branch 'origin/staging' into factorn
julian-CStack May 28, 2025
28ad70f
Merge pull request #1145 from cypherstack/factorn
julian-CStack May 28, 2025
d8dad7f
equality check fix
julian-CStack May 29, 2025
292b494
remove lelantus
julian-CStack May 29, 2025
f3d923e
ios fix
julian-CStack May 29, 2025
58703ac
Add space on desktop
julian-CStack May 29, 2025
769a872
ios cam permission dialog tweak
julian-CStack May 29, 2025
0ff1ad0
show prev gen frost info in backup view
julian-CStack May 30, 2025
f4abb1f
frost spend fix
julian-CStack May 30, 2025
cb521f9
Merge remote-tracking branch 'origin/house-keeping' into house-keeping
julian-CStack May 30, 2025
df168d9
Merge pull request #1146 from cypherstack/house-keeping
julian-CStack May 30, 2025
b28d181
fix optional date
julian-CStack May 30, 2025
877ef21
fix duress favorites
julian-CStack May 30, 2025
f626837
Merge pull request #1147 from cypherstack/fixes
julian-CStack May 30, 2025
59621d6
demo
julian-CStack May 31, 2025
5bdc7d0
update cs_salvium dep with ios plist fix
julian-CStack May 31, 2025
066b8ab
Merge pull request #1148 from cypherstack/cs_salvium-ios-related-fix
julian-CStack May 31, 2025
4ebf972
8 places + polyseed
julian-CStack Jun 2, 2025
491fd47
Merge pull request #1150 from cypherstack/salvium-decimal-places
julian-CStack Jun 2, 2025
8f27e1a
Merge remote-tracking branch 'origin/staging' into monero-connections
julian-CStack Jun 2, 2025
0f32556
primary node flag
julian-CStack Jun 2, 2025
0f54f97
WIP remove store primary nodes separately. Still requires SWB changes…
julian-CStack Jun 2, 2025
905c64b
migrate primary nodes
julian-CStack Jun 2, 2025
6ffdf3d
refactor: extract canPing-related checks to helper fn
sneurlax Jun 2, 2025
505ba4c
feat: avoid crash w local node + "TOR only" node and tor off
sneurlax Jun 2, 2025
0c42fbe
update swb to handle updated primary node handling
julian-CStack Jun 2, 2025
a6ba1cd
refactor: combine NodeService add and edit -> save
sneurlax Jun 2, 2025
e8a13f9
update nodeservice delete func
julian-CStack Jun 2, 2025
d5945b4
clean up remaining node service refactor code issues
julian-CStack Jun 2, 2025
b9d15c8
fix file closed error
julian-CStack Jun 2, 2025
c571086
Merge pull request #1151 from cypherstack/monero-connections
julian-CStack Jun 2, 2025
bbbea43
More safearea wraps
julian-CStack Jun 9, 2025
157dccb
Merge pull request #1155 from cypherstack/safearea-fixes
julian-CStack Jun 9, 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
  •  
  •  
  •  
8 changes: 0 additions & 8 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,6 @@ jobs:
sudo apt clean
sudo apt update
sudo apt install -y unzip automake build-essential file pkg-config git python libtool libtinfo5 cmake openjdk-8-jre-headless libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev llvm debhelper libclang-dev opencl-headers libssl-dev ocl-icd-opencl-dev libc6-dev-i386
- name: Build Lelantus
run: |
cd crypto_plugins/flutter_liblelantus/scripts/linux/
./build_all.sh
- name: Build Monero
run: |
cd crypto_plugins/flutter_libmonero/scripts/linux/
./build_monero_all.sh
- name: Build Epic Cash
run: |
cd crypto_plugins/flutter_libepiccash/scripts/linux/
Expand Down
12 changes: 9 additions & 3 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 Down Expand Up @@ -59,17 +62,18 @@ coverage
scripts/**/build
/lib/external_api_keys.dart

libcw_monero.dll
libcw_wownero.dll
libepic_cash_wallet.dll
libmobileliblelantus.dll
libtor_ffi.dll
flutter_libsparkmobile.dll
secp256k1.dll
/libisar.so
/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 @@ -106,3 +110,5 @@ 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
/devtools_options.yaml
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
[submodule "crypto_plugins/flutter_libepiccash"]
path = crypto_plugins/flutter_libepiccash
url = https://github.com/cypherstack/flutter_libepiccash.git
[submodule "crypto_plugins/flutter_liblelantus"]
path = crypto_plugins/flutter_liblelantus
url = https://github.com/cypherstack/flutter_liblelantus.git
[submodule "crypto_plugins/frostdart"]
path = crypto_plugins/frostdart
url = https://github.com/cypherstack/frostdart
2 changes: 1 addition & 1 deletion analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ linter:
constant_identifier_names: false
prefer_final_locals: true
prefer_final_in_for_each: true
require_trailing_commas: true
# require_trailing_commas: true // causes issues with dart 3.7
# avoid_print: false # Uncomment to disable the `avoid_print` rule
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule

Expand Down
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.
2 changes: 2 additions & 0 deletions asset_sources/default_themes/stack_wallet/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
light/
dark/
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
1 change: 0 additions & 1 deletion crypto_plugins/flutter_liblelantus
Submodule flutter_liblelantus deleted from 5b0864
61 changes: 30 additions & 31 deletions docs/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,6 @@ 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.29.0 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.0` 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.29.0
echo 'export PATH="$PATH:'"$FLUTTER_DIR"'/bin"' >> "$HOME/.profile"
source "$HOME/.profile"
flutter precache
```

Run `flutter doctor` in a terminal to confirm its installation.

### Android Studio
Install Android Studio. Follow instructions here [https://developer.android.com/studio/install#linux](https://developer.android.com/studio/install#linux) or install via snap:
```
Expand All @@ -38,7 +24,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 +44,7 @@ sudo apt-get install libssl-dev curl unzip automake build-essential file pkg-con

For Ubuntu 20.04,
```
sudo apt-get install valac
sudo apt-get install valac python3-pip
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,13 +54,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 [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 All @@ -89,6 +75,20 @@ sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
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
```

### Flutter
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.29.2
echo 'export PATH="$PATH:'"$FLUTTER_DIR"'/bin"' >> "$HOME/.profile"
source "$HOME/.profile"
flutter precache
```

Run `flutter doctor` in a terminal to confirm its installation.

### Clone the repository and initialize submodules
After installing the prerequisites listed above, download the code and init the submodules
```
Expand Down Expand Up @@ -209,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.29.0 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 @@ -283,20 +283,19 @@ The WSL2 host may optionally be navigated to the `stack_wallet` repository on th
If the DLLs were built on the WSL filesystem instead of on Windows, copy the resulting `dll`s to their respective positions on the Windows host:

- `stack_wallet/crypto_plugins/flutter_libepiccash/scripts/windows/build/libepic_cash_wallet.dll`
- `stack_wallet/crypto_plugins/flutter_liblelantus/scripts/windows/build/libmobileliblelantus.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.29.0 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.0` 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.29.0
git checkout 3.29.2
setx PATH "%PATH%;%FLUTTER_DIR%\bin"
echo Flutter setup completed. Please restart your command prompt.
```
Expand All @@ -306,9 +305,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
31 changes: 20 additions & 11 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ PODS:
- ReachabilitySwift
- cs_monero_flutter_libs_ios (0.0.1):
- Flutter
- cs_salvium_flutter_libs_ios (0.0.1):
- Flutter
- device_info_plus (0.0.1):
- Flutter
- devicelocale (0.0.1):
Expand Down Expand Up @@ -65,8 +67,6 @@ PODS:
- Flutter
- isar_flutter_libs (1.0.0):
- Flutter
- lelantus (0.0.1):
- Flutter
- local_auth_darwin (0.0.1):
- Flutter
- FlutterMacOS
Expand All @@ -87,6 +87,8 @@ 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 @@ -95,7 +97,8 @@ PODS:
- sqlite3/common
- sqlite3_flutter_libs (0.0.1):
- Flutter
- sqlite3 (~> 3.46.0)
- "sqlite3 (~> 3.46.0+1)"
- sqlite3/dbstatvtab
- sqlite3/fts5
- sqlite3/perf-threadsafe
- sqlite3/rtree
Expand All @@ -109,12 +112,15 @@ 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_ios (from `.symlinks/plugins/cs_monero_flutter_libs_ios/ios`)
- cs_salvium_flutter_libs_ios (from `.symlinks/plugins/cs_salvium_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 @@ -127,7 +133,6 @@ DEPENDENCIES:
- frostdart (from `.symlinks/plugins/frostdart/ios`)
- integration_test (from `.symlinks/plugins/integration_test/ios`)
- isar_flutter_libs (from `.symlinks/plugins/isar_flutter_libs/ios`)
- lelantus (from `.symlinks/plugins/lelantus/ios`)
- local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
Expand All @@ -138,6 +143,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 @@ -159,6 +165,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/connectivity_plus/ios"
cs_monero_flutter_libs_ios:
:path: ".symlinks/plugins/cs_monero_flutter_libs_ios/ios"
cs_salvium_flutter_libs_ios:
:path: ".symlinks/plugins/cs_salvium_flutter_libs_ios/ios"
device_info_plus:
:path: ".symlinks/plugins/device_info_plus/ios"
devicelocale:
Expand All @@ -183,8 +191,6 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/integration_test/ios"
isar_flutter_libs:
:path: ".symlinks/plugins/isar_flutter_libs/ios"
lelantus:
:path: ".symlinks/plugins/lelantus/ios"
local_auth_darwin:
:path: ".symlinks/plugins/local_auth_darwin/darwin"
package_info_plus:
Expand All @@ -205,17 +211,20 @@ 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_ios: fd353631682247f72a36493ff060d4328d6f720d
cs_salvium_flutter_libs_ios: f9d6ce540cb34d8cb8641822cf02fa0695a8d405
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 @@ -225,7 +234,6 @@ SPEC CHECKSUMS:
frostdart: 4c72b69ccac2f13ede744107db046a125acce597
integration_test: 252f60fa39af5e17c3aa9899d35d908a0721b573
isar_flutter_libs: fdf730ca925d05687f36d7f1d355e482529ed097
lelantus: 417f0221260013dfc052cae9cf4b741b6479edba
local_auth_darwin: 66e40372f1c29f383a314c738c7446e2f7fdadc3
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4
Expand All @@ -235,14 +243,15 @@ SPEC CHECKSUMS:
SDWebImage: 72f86271a6f3139cc7e4a89220946489d4b9a866
share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5
sqlite3: 292c3e1bfe89f64e51ea7fc7dab9182a017c8630
sqlite3_flutter_libs: 0d611efdf6d1c9297d5ab03dab21b75aeebdae31
sqlite3_flutter_libs: c00457ebd31e59fa6bb830380ddba24d44fbcd3b
stack_wallet_backup: 5b8563aba5d8ffbf2ce1944331ff7294a0ec7c03
SwiftProtobuf: 6ef3f0e422ef90d6605ca20b21a94f6c1324d6b3
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
tor_ffi_plugin: d80e291b649379c8176e1be739e49be007d4ef93
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
wakelock_plus: 78ec7c5b202cab7761af8e2b2b3d0671be6c4ae1
wakelock_plus: 373cfe59b235a6dd5837d0fb88791d2f13a90d56
xelis_flutter: a6a1ee1f1e47f5aeb42dc4a5889358b79d8d90fc

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