Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cw 660 add ledger monero #1747

Merged
merged 341 commits into from
Nov 12, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
341 commits
Select commit Hold shift + click to select a range
ca037d9
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 May 8, 2024
a745c59
Fix conflicts with main
OmarHatem28 May 8, 2024
0e902b6
fix for multiple wallets
MrCyjaneK May 8, 2024
8f75256
Merge branch 'main' into MrCyjaneK-cyjan-monerodart
OmarHatem28 May 8, 2024
bf14a14
Add tron to windows application configuration.
mkyq May 8, 2024
1fe4470
Add macOS option for description message in configure_cake_wallet.sh
mkyq May 8, 2024
75f3cb7
Include missed monero dll for windows.
mkyq May 8, 2024
49a92ff
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 May 8, 2024
fa53913
fix conflicts with main
OmarHatem28 May 8, 2024
b7c942a
Merge remote-tracking branch 'origin/main' into CW-453-silent-payments
rafael-xmr May 9, 2024
524f186
Merge branch 'main' into MrCyjaneK-cyjan-monerodart
OmarHatem28 May 9, 2024
1c17b69
Merge branch 'main' into MrCyjaneK-cyjan-monerodart
OmarHatem28 May 9, 2024
112c092
Disable haven configuration for iOS as default. Add ability to config…
mkyq May 9, 2024
8e5d997
fix: scan fixes, add date, allow sending while scanning
rafael-xmr May 9, 2024
8b5ab79
Merge remote-tracking branch 'origin/main' into CW-453-silent-payments
rafael-xmr May 9, 2024
7d91c5e
add missing nano secrets file [skip ci]
OmarHatem28 May 10, 2024
6d9cf1d
ios library
MrCyjaneK May 10, 2024
00f79a3
don't pull prebuilds android
MrCyjaneK May 10, 2024
ae1fe40
Add auto generation of manifest file for android project even for iOS…
mkyq May 10, 2024
e72ed49
feat: sync fixes, sp settings
rafael-xmr May 10, 2024
4ac357f
Merge remote-tracking branch 'origin/main' into CW-453-silent-payments
rafael-xmr May 10, 2024
3c041ee
feat: fix resyncing
rafael-xmr May 11, 2024
2d883f8
store crash fix
MrCyjaneK May 11, 2024
f6d41f3
Merge branch 'main' into MrCyjaneK-cyjan-monerodart
OmarHatem28 May 11, 2024
e68cae6
make init async so it won't lag
MrCyjaneK May 12, 2024
5ce0d6f
fix monero_c build issues
MrCyjaneK May 13, 2024
9702b64
libstdc++
MrCyjaneK May 13, 2024
ed866d9
Fix MacOS saving wallet file issue
OmarHatem28 May 13, 2024
2f69596
update pubspec.lock
OmarHatem28 May 13, 2024
2c978fc
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 May 13, 2024
6291f72
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 May 14, 2024
1599626
fix build script
MrCyjaneK May 14, 2024
9169551
Use dylib as iOS framework. Use custom path for loading of iOS framew…
mkyq May 14, 2024
e1acef2
fix: date from height logic, status disconnected & chain tip get
rafael-xmr May 14, 2024
ec6225b
fix: params
rafael-xmr May 14, 2024
2c9558d
Merge remote-tracking branch 'origin/main' into CW-453-silent-payments
rafael-xmr May 14, 2024
8f8ee34
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 May 14, 2024
290bdf3
feat: electrum migration if using cake electrum
rafael-xmr May 14, 2024
20b0f24
Merge remote-tracking branch 'origin/CW-453-silent-payments' into CW-…
rafael-xmr May 14, 2024
78a6015
fix nodes
OmarHatem28 May 14, 2024
7783875
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 May 14, 2024
081de3f
re-enable tron
OmarHatem28 May 15, 2024
f61e9b2
update sp_scanner to work on iOS [skip ci]
OmarHatem28 May 15, 2024
b56e01b
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 May 15, 2024
b35b066
bump monero_c hash
MrCyjaneK May 15, 2024
e3a1fc7
Merge remote-tracking branch 'origin/MrCyjaneK-cyjan-monerodart' into…
OmarHatem28 May 15, 2024
562cfb2
bump monero_c commit
MrCyjaneK May 15, 2024
603dd5d
bump moneroc version
MrCyjaneK May 15, 2024
910bcb2
bump monero_c commit
MrCyjaneK May 15, 2024
888543c
Merge remote-tracking branch 'origin/MrCyjaneK-cyjan-monerodart' into…
OmarHatem28 May 15, 2024
bf2ff45
Add ability to build monero wallet lib as universal lib. Update macOS…
mkyq May 15, 2024
015bb1f
fix: wrong socket for old electrum nodes
rafael-xmr May 16, 2024
8955df8
Merge branch 'main' into MrCyjaneK-cyjan-monerodart
OmarHatem28 May 17, 2024
57e7314
Fix unchecked wallet type call
OmarHatem28 May 18, 2024
6eb8f35
Merge branch 'main' into CW-453-silent-payments
OmarHatem28 May 18, 2024
c8bdc3d
get App Dir correctly in default_settings_migration.dart
OmarHatem28 May 19, 2024
f3197a6
Merge remote-tracking branch 'origin/MrCyjaneK-cyjan-monerodart' into…
OmarHatem28 May 19, 2024
6d76130
handle previous issue with fetching linux documents directory [skip ci]
OmarHatem28 May 19, 2024
d78f524
backup fix
MrCyjaneK May 20, 2024
c5a532a
fix NTFS issues
MrCyjaneK May 21, 2024
5ca5c54
Merge branch 'main' into MrCyjaneK-cyjan-monerodart
OmarHatem28 May 21, 2024
cf8a20f
Close the wallet when the wallet gets changed
konstantinullrich May 22, 2024
00ceb93
fix: double balance
rafael-xmr May 22, 2024
932161a
feat: node domain
rafael-xmr May 22, 2024
dc86968
Merge remote-tracking branch 'origin/main' into CW-453-silent-payments
rafael-xmr May 22, 2024
d230904
fix: menu name
rafael-xmr May 23, 2024
bcb2240
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 May 23, 2024
97a5812
bump monero_c commit
MrCyjaneK May 24, 2024
4dd4241
Merge branch 'main' into MrCyjaneK-cyjan-monerodart
OmarHatem28 May 24, 2024
fb3c816
fix: update tip on set scanning
rafael-xmr May 24, 2024
da59860
fix: connection switching back and forth
rafael-xmr May 24, 2024
cfa4515
feat: check if node is electrs, and supports sp
rafael-xmr May 24, 2024
7650393
chore: fix build
rafael-xmr May 24, 2024
c71318c
Merge remote-tracking branch 'origin/CW-453-silent-payments' into CW-…
OmarHatem28 May 25, 2024
c4b4d4e
minor enhancements
OmarHatem28 May 25, 2024
9320e38
Merge branch 'main' into MrCyjaneK-cyjan-monerodart
OmarHatem28 May 25, 2024
ce2a9cd
fixes and enhancements
OmarHatem28 May 28, 2024
6d7ba21
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 May 28, 2024
aee365c
solve conflicts with main
OmarHatem28 May 28, 2024
dc424b5
Merge branch 'refs/heads/main' into MrCyjaneK-cyjan-monerodart
konstantinullrich May 28, 2024
701c6b2
Only stop wallet on rename and delete
konstantinullrich May 28, 2024
802935d
fix: status toggle
rafael-xmr May 28, 2024
1786474
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 May 28, 2024
bac9093
minor enhancement
OmarHatem28 May 28, 2024
f4e01c5
Merge remote-tracking branch 'refs/remotes/origin/CW-453-silent-payme…
konstantinullrich May 29, 2024
17eddde
Monero.com fixes
OmarHatem28 May 29, 2024
cee7ab6
bump monero_c commit
MrCyjaneK May 29, 2024
fb6be41
update sp_scanner to include windows and linux
OmarHatem28 May 29, 2024
17c1362
Merge remote-tracking branch 'origin/MrCyjaneK-cyjan-monerodart' into…
konstantinullrich May 29, 2024
86d4c92
Merge remote-tracking branch 'refs/remotes/origin/CW-453-silent-payme…
konstantinullrich May 29, 2024
2fea9e0
Merge branch 'refs/heads/main' into MrCyjaneK-cyjan-monerodart
konstantinullrich May 29, 2024
30c7d2a
Update macOS build guide. Change brew dependencies for build unbound …
mkyq May 29, 2024
dc41f07
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 Jun 4, 2024
b9f1d9b
fix conflicts and update macos build guide
OmarHatem28 Jun 4, 2024
b8d925e
remove build cache when on gh actions
MrCyjaneK Jun 5, 2024
f2bd5e5
update secure storage
OmarHatem28 Jun 5, 2024
ca2439a
free up even more storage
MrCyjaneK Jun 5, 2024
54fae0b
free up more storage
MrCyjaneK Jun 6, 2024
82b0115
Merge branch 'main' into MrCyjaneK-cyjan-monerodart
OmarHatem28 Jun 6, 2024
603bf7b
Add initial wownero
OmarHatem28 Jun 6, 2024
95bf36d
fix conflicts
OmarHatem28 Jun 6, 2024
26c7c3e
fix workflow issue
OmarHatem28 Jun 6, 2024
64adc5e
build wownero
MrCyjaneK Jun 8, 2024
411fcbb
ios and windows changes
MrCyjaneK Jun 8, 2024
748caf3
macos
MrCyjaneK Jun 8, 2024
2f2e7ed
Merge branch 'main' into wownero
OmarHatem28 Jun 8, 2024
fed6004
complete wownero flow (app side)
OmarHatem28 Jun 8, 2024
a564551
add keychain group entitlement and update script for RunnerBase on macos
fossephate Jun 9, 2024
8a3e98a
update secure_storage version to 8.1.0 in configure.dart
fossephate Jun 9, 2024
972e637
add wownero framework
MrCyjaneK Jun 9, 2024
d76d54d
update ios builds
MrCyjaneK Jun 9, 2024
2ad76de
proper path for wownero and monero
MrCyjaneK Jun 9, 2024
f48023b
finalizing wownero
OmarHatem28 Jun 9, 2024
657e942
finalizing wownero
OmarHatem28 Jun 10, 2024
9520a89
free up even more storage
MrCyjaneK Jun 10, 2024
d683e47
Merge branch 'main' into wownero
MrCyjaneK Jun 10, 2024
5a4a4bd
revert commenting of build gradle configs
OmarHatem28 Jun 10, 2024
a6f7d00
revert commenting of secrets [skip ci]
OmarHatem28 Jun 10, 2024
85fed65
free more storage
MrCyjaneK Jun 10, 2024
fd48228
Merge branch 'main' into wownero
MrCyjaneK Jun 10, 2024
4362237
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 Jun 11, 2024
2574653
minor fixes
OmarHatem28 Jun 11, 2024
e59c94d
link android wownero libraries
MrCyjaneK Jun 11, 2024
531ca0e
bump monero_c commit
MrCyjaneK Jun 12, 2024
9a8590d
wownero fixes
MrCyjaneK Jun 12, 2024
a329128
rename target
MrCyjaneK Jun 13, 2024
df12bf4
build_single.sh using clean env
MrCyjaneK Jun 13, 2024
2e81ef5
bump monero_c commit
MrCyjaneK Jun 13, 2024
598b9f3
minor fix
OmarHatem28 Jun 14, 2024
066e250
Add wownero polyseed
OmarHatem28 Jun 14, 2024
a9521ef
Merge branch 'MrCyjaneK-cyjan-monerodart' of https://github.com/cake-…
OmarHatem28 Jun 21, 2024
e76cc69
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 Jun 21, 2024
442bae1
fix conflicts with main
OmarHatem28 Jun 21, 2024
311bf70
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 Jun 24, 2024
bc7e59e
fix: wallet seed display
MrCyjaneK Jun 24, 2024
da6d83f
Merge remote-tracking branch 'origin/wownero' into wownero
OmarHatem28 Jun 24, 2024
4c061ad
fix: wallet seed display
MrCyjaneK Jun 25, 2024
3c4f743
Merge branch 'main' into wownero
MrCyjaneK Jun 25, 2024
de18d95
bump monero_c commit
MrCyjaneK Jun 25, 2024
0a47cb9
Merge remote-tracking branch 'origin/wownero' into wownero
OmarHatem28 Jun 25, 2024
361fff9
minor fixes
OmarHatem28 Jun 25, 2024
3940979
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into …
OmarHatem28 Jun 26, 2024
acc0977
fix: incorrectly displaying XMR instead of WOW
MrCyjaneK Jun 27, 2024
12a6d8c
fix: incorrect restore height in wownero
MrCyjaneK Jun 27, 2024
9e52291
bump monero_c commit
MrCyjaneK Jun 27, 2024
e42cc3f
Add Inno Setup Script for windows exe installer
konstantinullrich Jun 27, 2024
6277d2c
drop libc++_shared.so
MrCyjaneK Jun 27, 2024
eb4ae2a
Merge branch 'main' into wownero
MrCyjaneK Jun 27, 2024
355d990
fixes from comments
MrCyjaneK Jun 28, 2024
2285540
Merge remote-tracking branch 'origin/wownero' into wownero
OmarHatem28 Jun 28, 2024
a060a52
Fix CMake for windows
konstantinullrich Jun 28, 2024
0f45092
Merge remote-tracking branch 'origin/wownero' into wownero
konstantinullrich Jun 28, 2024
907ede6
Merge remote-tracking branch 'origin/wownero' into wownero
OmarHatem28 Jun 28, 2024
b44cd1b
Merge branch 'MrCyjaneK-cyjan-monerodart' of https://github.com/cake-…
OmarHatem28 Jun 28, 2024
e978f9d
Merge latest monero dart changes [skip ci]
OmarHatem28 Jun 28, 2024
7293b71
bump monero_c commit
MrCyjaneK Jun 29, 2024
5553c4f
Merge branch 'main' into wownero
MrCyjaneK Jun 29, 2024
4d179f9
add wownero to build scripts for macos [skip ci]
OmarHatem28 Jun 30, 2024
da26e0b
add 14 word seed support to wownero
MrCyjaneK Jun 30, 2024
5f22e7a
UI fixes for wownero seed restore
MrCyjaneK Jun 30, 2024
08ae9a5
minor fixes
OmarHatem28 Jun 30, 2024
d483ffc
reformat code to pass lints
OmarHatem28 Jun 30, 2024
76f4c6c
Add debug ledger code
konstantinullrich Jul 8, 2024
8efd4a0
Add Litecoin Hardware Wallet Creation
konstantinullrich Jul 15, 2024
a24a733
Add Litecoin Hardware Wallet Creation
konstantinullrich Jul 17, 2024
fbab1ee
Fix Bitcoin not sending on Ledger
konstantinullrich Jul 17, 2024
615751f
Merge branch 'main' into fixing-ledger-problems
konstantinullrich Jul 19, 2024
e7d07c7
Merge branch 'refs/heads/fixing-ledger-problems' into CW-679-Add-Ledg…
konstantinullrich Jul 19, 2024
4f47d27
Fixes to sending LTC using Ledger
konstantinullrich Jul 30, 2024
0749178
Merge branch 'main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Jul 30, 2024
0473d28
Merge branch 'refs/heads/main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Aug 9, 2024
7b41c0b
Merge branch 'refs/heads/main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Aug 12, 2024
bad2be9
CW-679 Fix merge conflicts
konstantinullrich Aug 12, 2024
17ec9b9
CW-679 Fix merge conflicts
konstantinullrich Aug 12, 2024
8f70373
Merge branch 'refs/heads/main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Aug 15, 2024
1c3db7f
CW-679 Minor fixes
konstantinullrich Aug 15, 2024
71abf6a
CW-679 Add derivation Path of change address
konstantinullrich Aug 15, 2024
b94d634
Merge branch 'refs/heads/main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Aug 16, 2024
3d91809
Merge branch 'main' into CW-660-add-ledger-monero
konstantinullrich Aug 23, 2024
8991b1a
Add create Monero Wallet from Ledger
konstantinullrich Aug 29, 2024
70a0944
bug fix to create Monero Wallet from Ledger
konstantinullrich Sep 2, 2024
ab165e5
Merge branch 'refs/heads/main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Sep 3, 2024
1bf3f24
ledger flutter plus refactoring
konstantinullrich Sep 16, 2024
a30c0be
Merge remote-tracking branch 'origin/CW-679-Add-Ledger-Litecoin-Suppo…
konstantinullrich Sep 16, 2024
0f09991
ledger flutter plus refactoring
konstantinullrich Sep 16, 2024
14a7100
ledger flutter plus refactoring
konstantinullrich Sep 16, 2024
0171808
Merge remote-tracking branch 'origin/main' into CW-679-Add-Ledger-Lit…
konstantinullrich Sep 16, 2024
42f4eda
Ups :|
konstantinullrich Sep 16, 2024
6b8237b
Ups :| I forgot USB
konstantinullrich Sep 16, 2024
9d3f8a0
Handle BT Off
konstantinullrich Sep 17, 2024
a951191
Fix Issue with A14 and USB
konstantinullrich Sep 18, 2024
7501517
Merge branch 'refs/heads/main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Sep 18, 2024
325bffa
Small Ledger Quality of life improvements
konstantinullrich Sep 20, 2024
365002d
Small Ledger Quality of life improvements
konstantinullrich Sep 20, 2024
59c45d4
Small Ledger Quality of life improvements
konstantinullrich Sep 20, 2024
dbbb78e
Merge branch 'main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Sep 20, 2024
6cb7f6a
Small Ledger Quality of life improvements
konstantinullrich Sep 23, 2024
18dba9b
Merge remote-tracking branch 'origin/CW-679-Add-Ledger-Litecoin-Suppo…
konstantinullrich Sep 23, 2024
64aa7d1
Merge branch 'refs/heads/main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Sep 23, 2024
fa1041a
Small Ledger Quality of life improvements
konstantinullrich Sep 24, 2024
37497fd
Small Ledger Quality of life improvements
konstantinullrich Sep 24, 2024
abb4a55
Small Ledger Quality of life improvements
konstantinullrich Sep 24, 2024
7b83570
Merge branch 'main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Sep 24, 2024
7001bce
Merge branch 'main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Sep 24, 2024
9e73e6b
Pls work
konstantinullrich Sep 24, 2024
8cd795a
Pls work
konstantinullrich Sep 24, 2024
ed58681
Pls work
konstantinullrich Sep 24, 2024
e995768
Pls work
konstantinullrich Sep 25, 2024
d0e559d
Fix overpopulation
konstantinullrich Sep 26, 2024
85d5e5a
Merge branch 'refs/heads/main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Sep 26, 2024
50cb270
Fix ble device detection and support for Stax and Flex
konstantinullrich Sep 26, 2024
a4c8306
clean up pubspec
konstantinullrich Sep 26, 2024
42276ad
clean up
konstantinullrich Sep 26, 2024
4e2fb02
Merge branch 'main' into CW-679-Add-Ledger-Litecoin-Support
konstantinullrich Sep 30, 2024
656263c
MWeb merge fix
konstantinullrich Sep 30, 2024
947a649
MWeb merge fix
konstantinullrich Sep 30, 2024
5aacc46
Merge branch 'refs/heads/CW-679-Add-Ledger-Litecoin-Support' into CW-…
konstantinullrich Oct 1, 2024
5d3302d
Migrate to Ledger Flutter Plus
konstantinullrich Oct 2, 2024
481ef36
Add connect device page before loading the wallet (Only monero)
konstantinullrich Oct 10, 2024
f298d01
Add connect device page before loading the wallet (Only monero)
konstantinullrich Oct 14, 2024
4a8fe40
Merge branch 'main' into CW-660-add-ledger-monero
konstantinullrich Oct 14, 2024
e5b21f6
Fix merge error
konstantinullrich Oct 14, 2024
c9c9523
Fix merge error
konstantinullrich Oct 14, 2024
c58799d
Merge branch 'refs/heads/main' into CW-660-add-ledger-monero
konstantinullrich Oct 15, 2024
7cfc008
Fix merge error && Allow for wallet switching
konstantinullrich Oct 15, 2024
add5729
Please compile now
konstantinullrich Oct 15, 2024
a2ae76e
Move monero/ledger.dart from monero_c to cw_monero
konstantinullrich Oct 18, 2024
5dede70
Upgrade ledger_flutter_plus
konstantinullrich Oct 21, 2024
380889d
Merge branch 'main' into CW-660-add-ledger-monero
konstantinullrich Oct 23, 2024
3039c4a
Add more popups if action on the device is needed.
konstantinullrich Oct 24, 2024
d1cabfb
Merge branch 'main' into CW-660-add-ledger-monero
konstantinullrich Oct 24, 2024
ef3b4bc
Update monero_c dependency hash
konstantinullrich Oct 25, 2024
a22888a
Yay ledger monero is even more efficient and avoids memory leaks 🥳
konstantinullrich Oct 29, 2024
af8e56b
Merge branch 'main' into CW-660-add-ledger-monero
konstantinullrich Oct 29, 2024
5726378
[skip-ci] more code
konstantinullrich Oct 29, 2024
75a1031
Fix Minor Bug
konstantinullrich Oct 30, 2024
1f8918b
Fix Minor Bug
konstantinullrich Oct 30, 2024
6f35a00
Apply requested changes
konstantinullrich Nov 4, 2024
a34dad4
Merge branch 'main' into CW-660-add-ledger-monero
konstantinullrich Nov 4, 2024
97ec317
[skip ci] Apply requested changes
konstantinullrich Nov 4, 2024
c7e7faf
Minor Cleanup
konstantinullrich Nov 4, 2024
294140d
Welp I'm dumb :/
konstantinullrich Nov 5, 2024
cf53c5a
Implement requested changes
konstantinullrich Nov 5, 2024
9943671
Increase ledger refresh speed
konstantinullrich Nov 7, 2024
41205ab
Merge branch 'main' into CW-660-add-ledger-monero
OmarHatem28 Nov 7, 2024
00551f2
Add Monero Ledger keep connection alive
konstantinullrich Nov 9, 2024
ae28874
Add Monero Ledger keep connection alive
konstantinullrich Nov 9, 2024
c328595
Merge branch 'main' into CW-660-add-ledger-monero
OmarHatem28 Nov 9, 2024
a2cff63
Merge branch 'main' into CW-660-add-ledger-monero
OmarHatem28 Nov 9, 2024
ad5f054
Merge branch 'main' into CW-660-add-ledger-monero
OmarHatem28 Nov 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions build-guide-win.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Building CakeWallet for Windows

## Requirements and Setup

The following are the system requirements to build CakeWallet for your Windows PC.

```
Windows 10 or later (64-bit), x86-64 based
Flutter 3 or above
```

## Building CakeWallet on Windows

These steps will help you configure and execute a build of CakeWallet from its source code.

### 1. Installing Package Dependencies

For build CakeWallet windows application from sources you will be needed to have:
> [Install Flutter]Follow installation guide (https://docs.flutter.dev/get-started/install/windows) and install do not miss to dev tools (install https://docs.flutter.dev/get-started/install/windows/desktop#development-tools) which are required for windows desktop development (need to install Git for Windows and Visual Studio 2022). Then install `Desktop development with C++` packages via GUI Visual Studio 2022, or Visual Studio Build Tools 2022 including: `C++ Build Tools core features`, `C++ 2022 Redistributable Update`, `C++ core desktop features`, `MVC v143 - VS 2022 C++ x64/x86 build tools`, `C++ CMake tools for Windwos`, `Testing tools core features - Build Tools`, `C++ AddressSanitizer`.
> [Install WSL] for building monero dependencies need to install Windows WSL (https://learn.microsoft.com/en-us/windows/wsl/install) and required packages for WSL (Ubuntu):
`$ sudo apt update `
`$ sudo apt build-essential cmake gcc-mingw-w64 g++-mingw-w64 autoconf libtool pkg-config`

### 2. Pull CakeWallet source code

You can downlaod CakeWallet source code from our [GitHub repository](github.com/cake-tech/cake_wallet) via git by following next command:
`$ git clone https://github.com/cake-tech/cake_wallet.git --branch MrCyjaneK-cyjan-monerodart`
OR you can download it as [Zip archive](https://github.com/cake-tech/cake_wallet/archive/refs/heads/MrCyjaneK-cyjan-monerodart.zip)

### 3. Build Monero, Monero_c and their dependencies

For use monero in the application need to build Monero wrapper - Monero_C which will be used by monero.dart package. For that need to run shell (bash - typically same named utility should be available after WSL is enabled in your system) with previously installed WSL, then change current directory to the application project directory with your used shell and then change current directory to `scripts/windows`: `$ cd scripts/windows`. Run build script: `$ ./build_all.sh`.

### 4. Configure and build CakeWallet application

To configure the application open directory where you have downloaded or unarchived CakeWallet sources and run `cakewallet.bat`.
Or if you used WSL and have active shell session you can run `$ ./cakewallet.sh` script in `scripts/windows` which will run `cakewallet.bat` in WSL.
After execution of `cakewallet.bat` you should to get `Cake Wallet.zip` in project root directory which will contains `CakeWallet.exe` file and another needed files for run the application. Now you can extract files from `Cake Wallet.zip` archive and run the application.
12 changes: 6 additions & 6 deletions cw_bitcoin/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -386,10 +386,10 @@ packages:
dependency: transitive
description:
name: flutter_web_bluetooth
sha256: "52ce64f65d7321c4bf6abfe9dac02fb888731339a5e0ad6de59fb916c20c9f02"
sha256: fcd03e2e5f82edcedcbc940f1b6a0635a50757374183254f447640886c53208e
url: "https://pub.dev"
source: hosted
version: "0.2.3"
version: "0.2.4"
flutter_web_plugins:
dependency: transitive
description: flutter
Expand Down Expand Up @@ -560,24 +560,24 @@ packages:
description:
path: "packages/ledger-bitcoin"
ref: HEAD
resolved-ref: dbb5c4956949dc734af3fc8febdbabed89da72aa
resolved-ref: "07cd61ef76a2a017b6d5ef233396740163265457"
url: "https://github.com/cake-tech/ledger-flutter-plus-plugins"
source: git
version: "0.0.3"
ledger_flutter_plus:
dependency: "direct main"
description:
name: ledger_flutter_plus
sha256: ea3ed586e1697776dacf42ac979095f1ca3bd143bf007cbe5c78e09cb6943f42
sha256: c7b04008553193dbca7e17b430768eecc372a72b0ff3625b5e7fc5e5c8d3231b
url: "https://pub.dev"
source: hosted
version: "1.2.5"
version: "1.4.1"
ledger_litecoin:
dependency: "direct main"
description:
path: "packages/ledger-litecoin"
ref: HEAD
resolved-ref: dbb5c4956949dc734af3fc8febdbabed89da72aa
resolved-ref: "07cd61ef76a2a017b6d5ef233396740163265457"
url: "https://github.com/cake-tech/ledger-flutter-plus-plugins"
source: git
version: "0.0.2"
Expand Down
1 change: 1 addition & 0 deletions cw_core/lib/hardware/device_connection_type.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ enum DeviceConnectionType {
static List<DeviceConnectionType> supportedConnectionTypes(WalletType walletType,
[bool isIOS = false]) {
switch (walletType) {
case WalletType.monero:
case WalletType.bitcoin:
case WalletType.litecoin:
case WalletType.ethereum:
Expand Down
4 changes: 4 additions & 0 deletions cw_core/lib/wallet_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,8 @@ abstract class WalletService<N extends WalletCredentials, RFS extends WalletCred
return '';
}
}

/// Check if the Wallet requires a hardware wallet to be connected during
/// the opening flow. (Currently only the case for Monero)
bool requireHardwareWalletConnection(String name) => false;
}
4 changes: 2 additions & 2 deletions cw_monero/lib/api/wallet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Future<bool> setupNodeSync(
daemonUsername: login ?? '',
daemonPassword: password ?? '');
});
// monero.Wallet_init3(wptr!, argv0: '', defaultLogBaseName: 'moneroc', console: true);
// monero.Wallet_init3(wptr!, argv0: '', defaultLogBaseName: 'moneroc', console: true, logPath: '');

final status = monero.Wallet_status(wptr!);

Expand Down Expand Up @@ -330,4 +330,4 @@ String signMessage(String message, {String address = ""}) {

bool verifyMessage(String message, String address, String signature) {
return monero.Wallet_verifySignedMessage(wptr!, message: message, address: address, signature: signature);
}
}
144 changes: 83 additions & 61 deletions cw_monero/lib/api/wallet_manager.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,18 @@ import 'package:cw_monero/api/exceptions/wallet_creation_exception.dart';
import 'package:cw_monero/api/exceptions/wallet_opening_exception.dart';
import 'package:cw_monero/api/exceptions/wallet_restore_from_keys_exception.dart';
import 'package:cw_monero/api/exceptions/wallet_restore_from_seed_exception.dart';
import 'package:cw_monero/api/wallet.dart';
import 'package:cw_monero/api/transaction_history.dart';
import 'package:cw_monero/api/wallet.dart';
import 'package:cw_monero/ledger.dart';
import 'package:monero/monero.dart' as monero;

class MoneroCException implements Exception {
final String message;

MoneroCException(this.message);

@override
String toString() {
return message;
}
String toString() => message;
}

void checkIfMoneroCIsFine() {
Expand All @@ -43,7 +42,6 @@ void checkIfMoneroCIsFine() {
throw MoneroCException("monero_c and monero.dart wrapper export list mismatch.\nLogic errors can occur.\nRefusing to run in release mode.\ncpp: '$cppCsExp'\ndart: '$dartCsExp'");
}
}

monero.WalletManager? _wmPtr;
final monero.WalletManager wmPtr = Pointer.fromAddress((() {
try {
Expand All @@ -60,6 +58,13 @@ final monero.WalletManager wmPtr = Pointer.fromAddress((() {
return _wmPtr!.address;
})());

void createWalletPointer() {
final newWptr = monero.WalletManager_createWallet(wmPtr,
path: "", password: "", language: "", networkType: 0);

wptr = newWptr;
}

void createWalletSync(
{required String path,
required String password,
Expand Down Expand Up @@ -124,24 +129,24 @@ void restoreWalletFromKeysSync(
int restoreHeight = 0}) {
txhistory = null;
var newWptr = (spendKey != "")
? monero.WalletManager_createDeterministicWalletFromSpendKey(
wmPtr,
path: path,
password: password,
language: language,
spendKeyString: spendKey,
newWallet: true, // TODO(mrcyjanek): safe to remove
restoreHeight: restoreHeight)
: monero.WalletManager_createWalletFromKeys(
wmPtr,
path: path,
password: password,
restoreHeight: restoreHeight,
addressString: address,
viewKeyString: viewKey,
spendKeyString: spendKey,
nettype: 0,
);
? monero.WalletManager_createDeterministicWalletFromSpendKey(wmPtr,
path: path,
password: password,
language: language,
spendKeyString: spendKey,
newWallet: true,
// TODO(mrcyjanek): safe to remove
restoreHeight: restoreHeight)
: monero.WalletManager_createWalletFromKeys(
wmPtr,
path: path,
password: password,
restoreHeight: restoreHeight,
addressString: address,
viewKeyString: viewKey,
spendKeyString: spendKey,
nettype: 0,
);

final status = monero.Wallet_status(newWptr);
if (status != 0) {
Expand All @@ -156,7 +161,7 @@ void restoreWalletFromKeysSync(
if (viewKey != viewKeyRestored && viewKey != "") {
monero.WalletManager_closeWallet(wmPtr, newWptr, false);
File(path).deleteSync();
File(path+".keys").deleteSync();
File(path + ".keys").deleteSync();
newWptr = monero.WalletManager_createWalletFromKeys(
wmPtr,
path: path,
Expand Down Expand Up @@ -199,7 +204,7 @@ void restoreWalletFromSpendKeySync(
// viewKeyString: '',
// nettype: 0,
// );

txhistory = null;
final newWptr = monero.WalletManager_createDeterministicWalletFromSpendKey(
wmPtr,
Expand Down Expand Up @@ -230,41 +235,39 @@ void restoreWalletFromSpendKeySync(

String _lastOpenedWallet = "";

// void restoreMoneroWalletFromDevice(
// {required String path,
// required String password,
// required String deviceName,
// int nettype = 0,
// int restoreHeight = 0}) {
//
// final pathPointer = path.toNativeUtf8();
// final passwordPointer = password.toNativeUtf8();
// final deviceNamePointer = deviceName.toNativeUtf8();
// final errorMessagePointer = ''.toNativeUtf8();
//
// final isWalletRestored = restoreWalletFromDeviceNative(
// pathPointer,
// passwordPointer,
// deviceNamePointer,
// nettype,
// restoreHeight,
// errorMessagePointer) != 0;
//
// calloc.free(pathPointer);
// calloc.free(passwordPointer);
//
// storeSync();
//
// if (!isWalletRestored) {
// throw WalletRestoreFromKeysException(
// message: convertUTF8ToString(pointer: errorMessagePointer));
// }
// }
Future<void> restoreWalletFromHardwareWallet(
{required String path,
required String password,
required String deviceName,
int nettype = 0,
int restoreHeight = 0}) async {
txhistory = null;

final newWptrAddr = await Isolate.run(() {
return monero.WalletManager_createWalletFromDevice(wmPtr,
path: path,
password: password,
restoreHeight: restoreHeight,
deviceName: deviceName)
.address;
});
final newWptr = Pointer<Void>.fromAddress(newWptrAddr);

final status = monero.Wallet_status(newWptr);

if (status != 0) {
final error = monero.Wallet_errorString(newWptr);
throw WalletRestoreFromSeedException(message: error);
}
wptr = newWptr;

openedWalletsByPath[path] = wptr!;
}

Map<String, monero.wallet> openedWalletsByPath = {};

void loadWallet(
{required String path, required String password, int nettype = 0}) {
Future<void> loadWallet(
{required String path, required String password, int nettype = 0}) async {
if (openedWalletsByPath[path] != null) {
txhistory = null;
wptr = openedWalletsByPath[path]!;
Expand All @@ -278,15 +281,34 @@ void loadWallet(
});
}
txhistory = null;
final newWptr = monero.WalletManager_openWallet(wmPtr,
path: path, password: password);
final deviceType = monero.WalletManager_queryWalletDevice(wmPtr,
keysFileName: "$path.keys", password: password, kdfRounds: 1);

if (deviceType == 1) {
konstantinullrich marked this conversation as resolved.
Show resolved Hide resolved
final dummyWPtr = wptr ??
monero.WalletManager_openWallet(wmPtr, path: '', password: '');
enableLedgerExchange(dummyWPtr, gLedger!);
}

final addr = wmPtr.address;
final newWptrAddr = await Isolate.run(() {
return monero.WalletManager_openWallet(Pointer.fromAddress(addr),
path: path, password: password)
.address;
});

final newWptr = Pointer<Void>.fromAddress(newWptrAddr);

_lastOpenedWallet = path;
final status = monero.Wallet_status(newWptr);
if (status != 0) {
final err = monero.Wallet_errorString(newWptr);
print(err);
throw WalletOpeningException(message: err);
}

if (deviceType == 1) disableLedgerExchange();

wptr = newWptr;
openedWalletsByPath[path] = wptr!;
}
Expand Down Expand Up @@ -351,7 +373,7 @@ Future<void> _openWallet(Map<String, String> args) async => loadWallet(

bool _isWalletExist(String path) => isWalletExistSync(path: path);

void openWallet(
Future<void> openWallet(
{required String path,
required String password,
int nettype = 0}) async =>
Expand Down
Loading
Loading