CakeWallet/cw_bitcoin/lib
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
..
payjoin CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
psbt Revert "FIX (#2283)" (#2298) 2025-05-29 16:54:22 +03:00
address_from_output.dart Revert "FIX (#2283)" (#2298) 2025-05-29 16:54:22 +03:00
bitcoin_address_record.dart Revert "FIX (#2283)" (#2298) 2025-05-29 16:54:22 +03:00
bitcoin_amount_format.dart Fix incorrect amount parsing due to bytes approximation 2023-02-15 23:16:21 +02:00
bitcoin_commit_transaction_exception.dart Cw 598 fixes for electrum based wallets (#1344) 2024-03-29 20:51:34 +02:00
bitcoin_hardware_wallet_service.dart CW 781 replace all print statements with printV (#1733) 2024-12-09 20:23:59 +02:00
bitcoin_mnemonic.dart litecoin mweb support (#1455) 2024-09-28 05:22:25 +03:00
bitcoin_mnemonics_bip39.dart Cw 488 seed offset (#1631) 2024-08-26 20:06:54 +03:00
bitcoin_receive_page_option.dart Revert "FIX (#2283)" (#2298) 2025-05-29 16:54:22 +03:00
bitcoin_transaction_credentials.dart implement-payjoin (#1949) 2025-05-12 20:33:14 +03:00
bitcoin_transaction_priority.dart litecoin mweb support (#1455) 2024-09-28 05:22:25 +03:00
bitcoin_unspent.dart Cw 453 (#1306) 2024-05-29 17:43:48 +03:00
bitcoin_wallet.dart CW-1091-payjoin-error-handeling (#2317) 2025-06-19 19:55:41 +03:00
bitcoin_wallet_addresses.dart CW-1091-payjoin-error-handeling (#2317) 2025-06-19 19:55:41 +03:00
bitcoin_wallet_creation_credentials.dart CW-843: Enhance Wallet Groups Implementation (#2045) 2025-03-06 02:25:38 +02:00
bitcoin_wallet_keys.dart Flutter upgrade 2022-10-12 13:09:57 -04:00
bitcoin_wallet_service.dart implement-payjoin (#1949) 2025-05-12 20:33:14 +03:00
cw_bitcoin.dart Move bitcoin and monero parts into self modules. 2021-12-24 14:52:08 +02:00
electrum.dart CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
electrum_balance.dart CW-997 coin control enhancements / send ALL fixes (#2114) 2025-03-30 16:52:46 +02:00
electrum_derivations.dart Cw 488 seed offset (#1631) 2024-08-26 20:06:54 +03:00
electrum_transaction_history.dart fix: Tentative fix for transaction history items overlap across wallet types (#1864) 2024-12-11 21:26:13 +02:00
electrum_transaction_info.dart Mweb enhancements 4 (#1768) 2024-11-07 04:57:36 +02:00
electrum_wallet.dart CW-519 Enable built-in Tor (#1950) 2025-06-20 22:56:18 +03:00
electrum_wallet_addresses.dart Revert "FIX (#2283)" (#2298) 2025-05-29 16:54:22 +03:00
electrum_wallet_snapshot.dart Revert "FIX (#2283)" (#2298) 2025-05-29 16:54:22 +03:00
exceptions.dart fix min fee not met exception (#1726) 2024-10-04 19:38:07 +03:00
litecoin_hardware_wallet_service.dart Cw 679 add ledger litecoin support (#1565) 2024-10-23 18:38:31 +03:00
litecoin_wallet.dart Revert "FIX (#2283)" (#2298) 2025-05-29 16:54:22 +03:00
litecoin_wallet_addresses.dart Revert "FIX (#2283)" (#2298) 2025-05-29 16:54:22 +03:00
litecoin_wallet_service.dart Cw 830 coin control getting cleared (#1825) 2024-11-28 17:53:03 +02:00
mnemonic_is_incorrect_exception.dart Generic fixes (#1304) 2024-02-23 19:09:24 +02:00
pending_bitcoin_transaction.dart implement-payjoin (#1949) 2025-05-12 20:33:14 +03:00
utils.dart fix: p2sh addr (#1607) 2024-08-15 02:40:40 +03:00