Commit graph

22 commits

Author SHA1 Message Date
cyan
5082dc20f3
CW-519 Enable built-in Tor (#1950)
* tor wip

* Enable tor on iOS

* Prevent app lag when node is exceptionally slow (usually over tor)

* fix: logic in daemonBlockchainHeight refresh
fix: storing tor state

* Pin ledger_flutter_plus dependency to fix builds

* bump arti version

* wip

* add single httpclient

* route everything I was able to catch trough the built-in tor node

* Enable proxy for http.Client [run tests]

* add tor proxy support to cw_evm, cw_tron and cw_polygon [run tests]

* remove log pollution, cleanup [skip slack]

* fix tests not working in latest main [skip slack] [run tests]

* remove cw_wownero import

* fix build issues

* migrate all remaining calls to use ProxyWrapper
add a CI action to enforce using ProxyWrapper instead of http/http.dart to prevent leaks

* fix tor background sync (will work on test builds after #2142 is merged and this PR is rebased on top)

* wip [skip ci]

* relicense to GPLv3 add socks5 license, build fixes

* use ProxyWrapper instead of http in robinhood

* Revert "relicense to GPLv3"

* feat(cw_bitcoin): support socks proxy and CakeTor

* fix(tor): migrate OCP and EVM over to ProxyWrapper()

* chore: cleanup
fix: show tor loading screen when app is starting

* fix: tor switch properly dismisses fullscreen loading dialog
fix: connectToNode after tor startup on app start

* fix(tor): status check for xmr/wow/zano

* fix(tor): onramper request fix

* fix(api): ServicesResponse is now being cached and doesn't fetch data everytime DashboardViewModel is being rebuilt
fix(tor): do not fallback to clearnet when tor failed.
fix(tor): do not leak connections during app startup
chore: refactor bootstrap() function to be separated into bootstrapOffline and bootstrapOnline
fix(cw_bitcoin): migrate payjoin to use ProxyWrapper

* [skip ci] remove print

* address comments from review

* fix: derusting tor implementation

Instead of rust-based Arti I've moved back to the
OG C++ tor implementation.
This fixed all issues we had with Tor.
- onion services now work
- all requests are going through without random errors
- we don't have to navigate a maze of multiple forks of multiple packages
- fully working `torrc` config file (probably will be needed for Tari).
- logging for Tor client
- and so on.

feat: network logging tab
feat: use built-in proxy on Tails - this should resolve all issues for Tails users (needs testing though)

* fix conflicts with main
bump https to fix build issue
relax store() call

* fix(cw_wownero): tor connection
fix(tor): connection issues

* fix(cw_evm): add missing chainId
fix(cw_core): solana rpc fix

* feat: mark tor as experimental
fix: drop anonpay onion authority
fix: drop fiatapi onion authority
fix: drop trocador onion authority
fix: disable networkimage when tor is enabled
fix: handle cakepay errors gracefully

* fix re-formatting [skip ci]

* changes from review

* Delete android/.kotlin/sessions/kotlin-compiler-2468481326039681181.salive

* fix missing imports

* Update pubspec_base.yaml

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2025-06-20 22:56:18 +03:00
cyan
686580ff78
Implement background sync for xmr using flutter_daemon (#2094)
* Implement background sync for xmr using flutter_daemon

* - initialize app config in background thread
- initializeAppConfigs without loading the wallet.

* - properly do awaited calls in methodChannel
- prevent locking main thread during background sync

* add back background sync debug page
fix issues caused by xmr wallet being view only (and read only)

* changes from review
improve starting of bgsync task

* update stopBackgroundSync, await listener functions, ensure that listener always start (call _start in constructor)

* DO-NOT-MERGE: extre verbose monero logs

* stop background service when app is being opened

* improve monitoring of background sync

* update flutter_daemon to ensure network constraint
prevent throwing errors on isBackgroundSyncEnabled
check network before syncing

* Update lib/main.dart

* revert Update main.dart [skip ci]

* continously run network check

* disable charging requirement,
fix status reporting of background sync in UI

* Refactor background sync logic, and add UI notifications for battery optimization. Updated flutter_daemon version modified build.gradle for signing config to allow testing in both release and debug modes.

* verbose monero only when requested in code.
Do not start background sync when battery optimization is on

* fix background sync mode not properly reflecting state changes

* drop unnecessary dependency

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-03-21 19:22:00 +02:00
Omar Hatem
c59d39d42d
Generic fixes (#1619)
* update fee rates

* periodically update fees

* minor enhancements

* minor enhancements

* some improvements
add solana node

* handle empty hex as null

* minor improvement

* fix imports

* fix app hanging on splash screen

* update app versions
temporarily disable sign/verify for hardware wallets
2024-08-18 03:37:15 +03:00
David Adegoke
fb3f64facf
fix: Restore backup bug fix and clean up sol error message (#1614)
* fix: Restore backup bug fix and clean up sol error message

* fix: Add async await to reinitialize
2024-08-17 01:21:03 +03:00
Omar Hatem
4027619ad3
V4.6.0 reports fixes (#835)
* Add user network connection issue to ignored errors

* Check current nodes on each app start

* Add user network connection error to ignored errors

* Fix sharing files issue on iOS
2023-03-17 21:15:28 +02:00
OmarHatem
ce4b1cd4ae Update fiat API version
Enable Tor support for Fiat
2023-02-28 18:23:21 +02:00
OmarHatem
ce19be56a0 - Fix haven and litecoin fee transaction priority issue
- Revert removing fiat rate update and use it to update fiat rate periodically if Fiat API is not disabled
2022-12-08 17:23:17 +02:00
OmarHatem
11a5e97711 Fix navigation error when state is changed to denied at app first start [skip_ci] 2022-12-03 23:34:23 +02:00
M
47ceac2dd6 Backup stuff. 2021-01-15 19:41:30 +02:00
M
ed72cee3f4 CAKE-137 2020-10-30 15:56:23 +02:00
M
51cf11127c Fixes 2020-09-26 22:17:31 +03:00
M
b0a31147dd Migration for iOS. 2020-09-23 21:26:10 +03:00
M
e4ebfc94b2 Part 1 2020-09-21 14:50:26 +03:00
M
95917b2cdb Merge redesign part 7. 2020-09-15 23:35:49 +03:00
M
d67ab4934d Merge redesign part 6. 2020-09-14 15:08:33 +03:00
M
6e6a081685 Merge redesign part 5. 2020-09-10 17:51:59 +03:00
M
fec2ec2845 Updated for flutter 1.20.x 2020-08-31 11:44:58 +03:00
M
24d139e540 TMP 2 2020-08-29 13:19:27 +03:00
M
6aaac93fa8 TMP 0 2020-08-27 19:54:34 +03:00
Oleksandr Sobol
1055c1b539 CAKE-18 | created fiat convertation service and fiat convertation store; added calculating price to bootstrap; applied fiat convertation store to balance view model 2020-07-24 19:29:16 +03:00
M
f45875ba3a General changes. CAKE-1. 2020-07-06 23:09:03 +03:00
M
81cee186db TMP 4 2020-06-20 10:10:00 +03:00