CakeWallet/lib/view_model
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
..
buy New themes (#2239) 2025-05-25 23:11:45 +03:00
cake_pay CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
contact_list fix: allow address only edits (#2233) 2025-05-01 18:23:56 +03:00
dashboard CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
dev CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
exchange CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
hardware_wallet CW-1090-ledger-issues (#2314) 2025-06-19 20:00:16 +03:00
integrations CW-1069-implement-deuro-dapp-support (#2304) 2025-06-19 05:37:41 +03:00
monero_account_list fix: hide balance for monero accounts (#2256) 2025-05-08 23:47:34 +03:00
nano_account_list CW-438 add nano (#1015) 2023-10-05 04:09:07 +03:00
node_list CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
restore CW-1073 Implement Monero wallet definition URI scheme (#2323) 2025-06-18 17:20:03 +03:00
send CW 1080: fix(cw_monero): call store() directly after commiting tx (#2312) 2025-06-16 17:49:43 +03:00
settings CW-959: Swap Status on Transaction Screen (#2299) 2025-06-04 18:24:56 +03:00
unspent_coins fix: incorrect balance in send card (#2158) 2025-04-04 12:56:07 +02:00
wallet_address_list CW-1076-payjoin-ux-enhancements (#2282) 2025-05-24 04:24:06 +03:00
wallet_list Update button text 2025-05-17 03:30:49 +03:00
advanced_privacy_settings_view_model.dart Add decred (#1938) 2025-03-21 04:18:47 +02:00
animated_ur_model.dart WIP: CW-665 Implement AirGapped Monero Transactions (#1535) 2024-11-09 20:59:47 +02:00
anon_invoice_page_view_model.dart V4.26.0 rc (#2198) 2025-04-15 02:50:07 +02:00
anonpay_details_view_model.dart New themes (#2239) 2025-05-25 23:11:45 +03:00
auth_state.dart Flutter upgrade 2022-10-12 13:09:57 -04:00
auth_view_model.dart bio auth on mac + package updates for 3.19.3/5 (#1398) 2024-05-06 22:55:05 +03:00
backup_view_model.dart CW-875 BackupServiceV3 (#2064) 2025-03-22 03:16:54 +02:00
edit_backup_password_view_model.dart CW-599-Extract-Secure-Storage (#1353) 2024-05-08 23:23:27 +03:00
link_view_model.dart Gracefully handle toast messages error on desktop platforms 2025-04-28 15:12:42 +03:00
new_wallet_type_view_model.dart CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307) 2024-09-20 21:25:08 +03:00
order_details_view_model.dart CW 781 replace all print statements with printV (#1733) 2024-12-09 20:23:59 +02:00
payjoin_details_view_model.dart CW-1091-payjoin-error-handeling (#2317) 2025-06-19 19:55:41 +03:00
rescan_view_model.dart litecoin mweb support (#1455) 2024-09-28 05:22:25 +03:00
restore_from_backup_view_model.dart feat: better backup errors (#2290) 2025-05-26 11:38:36 +03:00
seed_settings_view_model.dart CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307) 2024-09-20 21:25:08 +03:00
set_up_2fa_viewmodel.dart CW-566-Cake2FA-Bypass-Bug (#1275) 2024-01-27 05:08:53 +02:00
setup_pin_code_view_model.dart Part 1 2020-09-21 14:50:26 +03:00
start_tor_view_model.dart CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
support_view_model.dart feat: Add fiat api and last used wallet type to support chat (#2078) 2025-03-11 15:27:50 +02:00
trade_details_view_model.dart New themes (#2239) 2025-05-25 23:11:45 +03:00
transaction_details_view_model.dart CW 1080: fix(cw_monero): call store() directly after commiting tx (#2312) 2025-06-16 17:49:43 +03:00
wallet_creation_vm.dart Implement background sync for xmr using flutter_daemon (#2094) 2025-03-21 19:22:00 +02:00
wallet_groups_display_view_model.dart CW-723-Add-Monero-support-to-the-Shared-Seed-feature-in-Cake (#2131) 2025-04-10 03:31:26 +02:00
wallet_hardware_restore_view_model.dart CW-1090-ledger-issues (#2314) 2025-06-19 20:00:16 +03:00
wallet_keys_view_model.dart CW-723-Add-Monero-support-to-the-Shared-Seed-feature-in-Cake (#2131) 2025-04-10 03:31:26 +02:00
wallet_new_vm.dart Remove words length from pre-seed warning (#2208) 2025-04-16 03:37:34 +02:00
wallet_restore_choose_derivation_view_model.dart CW-438 add nano (#1015) 2023-10-05 04:09:07 +03:00
wallet_restore_view_model.dart CW 818: Improve Passphrase Discoverability When Restoring (#2224) 2025-05-02 02:56:06 +03:00
wallet_seed_view_model.dart Fix electrum unspent coins error (#1912) 2024-12-29 23:48:53 +02:00
wallet_unlock_loadable_view_model.dart CW-676 Add Linux scripts to build monero_c for linux platform (#1527) 2024-08-13 01:18:14 +03:00
wallet_unlock_verifiable_view_model.dart CW-676 Add Linux scripts to build monero_c for linux platform (#1527) 2024-08-13 01:18:14 +03:00
wallet_unlock_view_model.dart CW-676 Add Linux scripts to build monero_c for linux platform (#1527) 2024-08-13 01:18:14 +03:00