CakeWallet/lib/core
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
..
open_crypto_pay CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
address_label_validator.dart Flutter upgrade 2022-10-12 13:09:57 -04:00
address_validator.dart CW-1073 Implement Monero wallet definition URI scheme (#2323) 2025-06-18 17:20:03 +03:00
amount.dart Flutter upgrade 2022-10-12 13:09:57 -04:00
amount_validator.dart Zano with passphrase (#1971) 2025-01-24 20:33:24 +02:00
auth_service.dart CW 781 replace all print statements with printV (#1733) 2024-12-09 20:23:59 +02:00
auth_state.dart Flutter upgrade 2022-10-12 13:09:57 -04:00
background_sync.dart CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
backup_service.dart CW-1092-restoring-from-backup-doesnt-maintain-hardware-wallets (#2319) 2025-06-17 01:31:49 +03:00
backup_service_v3.dart CW-1092-restoring-from-backup-doesnt-maintain-hardware-wallets (#2319) 2025-06-17 01:31:49 +03:00
contact_name_validator.dart General changes. CAKE-1. 2020-07-06 23:09:03 +03:00
create_trade_result.dart CW-615-Add-Check-For-Contract-Address (#1387) 2024-04-25 03:14:11 +02:00
email_validator.dart Ionia (#437) 2022-07-28 18:03:16 +01:00
execution_state.dart Cw 921 create new bottom sheet sending confirmation UI (#2099) 2025-03-21 05:24:22 +02:00
fiat_conversion_service.dart CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
generate_wallet_password.dart Flutter update (#1048) 2023-08-18 18:37:17 +03:00
key_service.dart CW-599-Extract-Secure-Storage (#1353) 2024-05-08 23:23:27 +03:00
mnemonic_length.dart Fix typos (#276) 2022-03-09 14:43:18 +03:00
monero_account_label_validator.dart Remove haven (#2085) 2025-03-21 04:52:05 +02:00
new_wallet_arguments.dart CW-843: Enhance Wallet Groups Implementation (#2045) 2025-03-06 02:25:38 +02:00
new_wallet_type_arguments.dart CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307) 2024-09-20 21:25:08 +03:00
node_address_validator.dart chore: fix some typos in comment (#2258) 2025-05-11 18:38:00 +03:00
node_port_validator.dart Reworked electrum wallet. Added Litecoin wallet. 2021-05-07 10:36:38 +03:00
seed_validator.dart Remove haven (#2085) 2025-03-21 04:52:05 +02:00
selectable_option.dart Cw 657 new buy sell flow (#1553) 2024-11-09 21:00:56 +02:00
socks_proxy_node_address_validator.dart CW-224-Allow-Monero-proxy-in-node-settings (#966) 2023-08-02 14:48:52 +03:00
sync_status_title.dart Add decred (#1938) 2025-03-21 04:18:47 +02:00
template_validator.dart CAKE-20 | updated send and send template pages; added send_template_store and exchange_template_store; created base_send_widget; applied send_template_store to send_view_model; applied base_send_widget to send and send template pages; added properties to address_text_field, base_text_field and template_tile 2020-07-29 19:55:42 +03:00
totp_request_details.dart Cw-263-TOTP-2FA-In-Security-Settings (#892) 2023-05-17 17:43:23 +03:00
trade_monitor.dart CW-959: Swap Status on Transaction Screen (#2299) 2025-06-04 18:24:56 +03:00
utilities.dart V4.26.0 rc (#2198) 2025-04-15 02:50:07 +02:00
validator.dart CW-254-proper-bitcoin-address-validation-in-exchange-screen (#900) 2023-05-15 15:39:00 +03:00
wallet_change_listener_view_model.dart Fiat api fix (#1070) 2023-09-01 18:06:18 +03:00
wallet_creation_service.dart Add decred (#1938) 2025-03-21 04:18:47 +02:00
wallet_creation_state.dart Flutter upgrade 2022-10-12 13:09:57 -04:00
wallet_loading_service.dart CW-1090-ledger-issues (#2314) 2025-06-19 20:00:16 +03:00
wallet_name_validator.dart prevent using same wallet name as existing (#391) 2022-06-29 18:21:21 +01:00
yat_service.dart CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00