2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/.secrets.g.dart' as secrets;
|
2023-03-24 15:26:42 +00:00
|
|
|
import 'package:cake_wallet/anonpay/anonpay_api.dart';
|
|
|
|
import 'package:cake_wallet/anonpay/anonpay_info_base.dart';
|
|
|
|
import 'package:cake_wallet/anonpay/anonpay_invoice_info.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/anypay/anypay_api.dart';
|
|
|
|
import 'package:cake_wallet/bitcoin/bitcoin.dart';
|
|
|
|
import 'package:cake_wallet/bitcoin_cash/bitcoin_cash.dart';
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
import 'package:cake_wallet/buy/dfx/dfx_buy_provider.dart';
|
2024-01-01 13:05:37 +00:00
|
|
|
import 'package:cake_wallet/buy/moonpay/moonpay_provider.dart';
|
2023-04-14 04:39:08 +00:00
|
|
|
import 'package:cake_wallet/buy/onramper/onramper_buy_provider.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/buy/order.dart';
|
2023-04-14 04:39:08 +00:00
|
|
|
import 'package:cake_wallet/buy/payfura/payfura_buy_provider.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/buy/robinhood/robinhood_buy_provider.dart';
|
|
|
|
import 'package:cake_wallet/core/auth_service.dart';
|
|
|
|
import 'package:cake_wallet/core/backup_service.dart';
|
|
|
|
import 'package:cake_wallet/core/key_service.dart';
|
2024-05-25 14:59:29 +00:00
|
|
|
import 'package:cake_wallet/core/secure_storage.dart';
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
import 'package:cake_wallet/core/totp_request_details.dart';
|
2023-10-03 14:56:10 +00:00
|
|
|
import 'package:cake_wallet/core/wallet_connect/wallet_connect_key_service.dart';
|
|
|
|
import 'package:cake_wallet/core/wallet_connect/wc_bottom_sheet_service.dart';
|
|
|
|
import 'package:cake_wallet/core/wallet_connect/web3wallet_service.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/core/wallet_creation_service.dart';
|
|
|
|
import 'package:cake_wallet/core/wallet_loading_service.dart';
|
2022-03-15 09:11:53 +00:00
|
|
|
import 'package:cake_wallet/core/yat_service.dart';
|
2023-08-04 17:55:56 +00:00
|
|
|
import 'package:cake_wallet/entities/background_tasks.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/entities/biometric_auth.dart';
|
|
|
|
import 'package:cake_wallet/entities/contact.dart';
|
|
|
|
import 'package:cake_wallet/entities/contact_record.dart';
|
2023-03-24 15:26:42 +00:00
|
|
|
import 'package:cake_wallet/entities/exchange_api_mode.dart';
|
2022-03-15 09:11:53 +00:00
|
|
|
import 'package:cake_wallet/entities/parse_address_from_domain.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/entities/qr_view_data.dart';
|
|
|
|
import 'package:cake_wallet/entities/template.dart';
|
|
|
|
import 'package:cake_wallet/entities/transaction_description.dart';
|
2023-08-04 17:01:49 +00:00
|
|
|
import 'package:cake_wallet/ethereum/ethereum.dart';
|
2024-06-06 04:51:22 +00:00
|
|
|
import 'package:cake_wallet/cake_pay/cake_pay_card.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/exchange/exchange_template.dart';
|
|
|
|
import 'package:cake_wallet/exchange/trade.dart';
|
|
|
|
import 'package:cake_wallet/haven/haven.dart';
|
|
|
|
import 'package:cake_wallet/monero/monero.dart';
|
|
|
|
import 'package:cake_wallet/nano/nano.dart';
|
2023-12-02 02:26:43 +00:00
|
|
|
import 'package:cake_wallet/polygon/polygon.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/reactions/on_authentication_state_change.dart';
|
2023-05-17 14:43:23 +00:00
|
|
|
import 'package:cake_wallet/routes.dart';
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
|
|
|
import 'package:cake_wallet/solana/solana.dart';
|
2023-03-24 15:26:42 +00:00
|
|
|
import 'package:cake_wallet/src/screens/anonpay_details/anonpay_details_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/auth/auth_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/backup/backup_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/backup/edit_backup_password_page.dart';
|
2023-09-14 19:14:49 +00:00
|
|
|
import 'package:cake_wallet/src/screens/buy/buy_options_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/buy/buy_webview_page.dart';
|
2023-06-13 23:15:10 +00:00
|
|
|
import 'package:cake_wallet/src/screens/buy/webview_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/contact/contact_list_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/contact/contact_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/dashboard_page.dart';
|
2023-04-14 04:39:08 +00:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/desktop_dashboard_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar_wrapper.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart';
|
2023-08-04 17:01:49 +00:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/edit_token_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/home_settings_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/pages/address_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/pages/balance_page.dart';
|
2023-11-22 17:43:26 +00:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/pages/transactions_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/exchange/exchange_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/exchange/exchange_template_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/exchange_trade/exchange_confirm_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/exchange_trade/exchange_trade_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/faq/faq_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/monero_accounts/monero_account_edit_or_create_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/monero_accounts/monero_account_list_page.dart';
|
2023-10-05 01:09:07 +00:00
|
|
|
import 'package:cake_wallet/src/screens/nano/nano_change_rep_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/nano_accounts/nano_account_edit_or_create_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/nano_accounts/nano_account_list_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/new_wallet/new_wallet_type_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/nodes/node_create_or_edit_page.dart';
|
2023-10-05 01:09:07 +00:00
|
|
|
import 'package:cake_wallet/src/screens/nodes/pow_node_create_or_edit_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/order_details/order_details_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/pin_code/pin_code_widget.dart';
|
2023-03-24 15:26:42 +00:00
|
|
|
import 'package:cake_wallet/src/screens/receive/anonpay_invoice_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/receive/anonpay_receive_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/receive/fullscreen_qr_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/receive/receive_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/rescan/rescan_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/restore/restore_from_backup_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/restore/restore_options_page.dart';
|
2023-10-05 01:09:07 +00:00
|
|
|
import 'package:cake_wallet/src/screens/restore/wallet_restore_choose_derivation.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/restore/wallet_restore_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/seed/pre_seed_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/seed/wallet_seed_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/send/send_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/send/send_template_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/connection_sync_page.dart';
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/desktop_settings/desktop_settings_page.dart';
|
2022-11-18 18:53:35 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/display_settings_page.dart';
|
2023-11-03 19:23:11 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/domain_lookups_page.dart';
|
2023-08-04 17:55:56 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/manage_nodes_page.dart';
|
2022-11-18 18:53:35 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/other_settings_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/privacy_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/security_backup_page.dart';
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/silent_payments_settings.dart';
|
2023-11-18 13:43:15 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/tor_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/trocador_providers_page.dart';
|
2023-05-17 14:43:23 +00:00
|
|
|
import 'package:cake_wallet/src/screens/setup_2fa/modify_2fa_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_enter_code_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_info_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_qr_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/setup_pin_code/setup_pin_code.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/subaddress/address_edit_or_create_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/support/support_page.dart';
|
2023-08-15 00:47:25 +00:00
|
|
|
import 'package:cake_wallet/src/screens/support_chat/support_chat_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/support_other_links/support_other_links_page.dart';
|
2024-06-06 04:51:22 +00:00
|
|
|
import 'package:cake_wallet/src/screens/wallet/wallet_edit_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/wallet_connect/wc_connections_listing_view.dart';
|
|
|
|
import 'package:cake_wallet/themes/theme_list.dart';
|
|
|
|
import 'package:cake_wallet/utils/device_info.dart';
|
|
|
|
import 'package:cake_wallet/store/anonpay/anonpay_transactions_store.dart';
|
|
|
|
import 'package:cake_wallet/utils/payment_request.dart';
|
|
|
|
import 'package:cake_wallet/utils/responsive_layout_util.dart';
|
|
|
|
import 'package:cake_wallet/view_model/dashboard/desktop_sidebar_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/anon_invoice_page_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/anonpay_details_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/dashboard/home_settings_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/dashboard/nft_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/dashboard/receive_option_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/cake_pay/cake_pay_auth_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/cake_pay/cake_pay_buy_card_view_model.dart';
|
|
|
|
import 'package:cake_wallet/cake_pay/cake_pay_service.dart';
|
|
|
|
import 'package:cake_wallet/cake_pay/cake_pay_api.dart';
|
|
|
|
import 'package:cake_wallet/cake_pay/cake_pay_vendor.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/cake_pay/auth/cake_pay_account_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/cake_pay/cake_pay.dart';
|
|
|
|
import 'package:cake_wallet/view_model/cake_pay/cake_pay_account_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/cake_pay/cake_pay_cards_list_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/cake_pay/cake_pay_purchase_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/nano_account_list/nano_account_edit_or_create_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/nano_account_list/nano_account_list_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/node_list/pow_node_list_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/seed_type_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/set_up_2fa_viewmodel.dart';
|
|
|
|
import 'package:cake_wallet/view_model/restore/restore_from_qr_vm.dart';
|
|
|
|
import 'package:cake_wallet/view_model/settings/display_settings_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/settings/other_settings_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/settings/privacy_settings_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/settings/security_settings_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/advanced_privacy_settings_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/settings/trocador_providers_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_item.dart';
|
|
|
|
import 'package:cake_wallet/view_model/wallet_list/wallet_edit_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/wallet_list/wallet_list_item.dart';
|
|
|
|
import 'package:cake_wallet/view_model/wallet_restore_choose_derivation_view_model.dart';
|
|
|
|
import 'package:cw_core/nano_account.dart';
|
|
|
|
import 'package:cw_core/unspent_coins_info.dart';
|
|
|
|
import 'package:cw_core/wallet_service.dart';
|
|
|
|
import 'package:cw_core/transaction_info.dart';
|
|
|
|
import 'package:cw_core/node.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/trade_details/trade_details_page.dart';
|
2024-05-25 14:59:29 +00:00
|
|
|
import 'package:cake_wallet/src/screens/transaction_details/rbf_details_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/transaction_details/transaction_details_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_details_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_list_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/wallet_keys/wallet_keys_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/wallet_list/wallet_list_page.dart';
|
|
|
|
import 'package:cake_wallet/store/app_store.dart';
|
|
|
|
import 'package:cake_wallet/store/authentication_store.dart';
|
|
|
|
import 'package:cake_wallet/store/dashboard/fiat_conversion_store.dart';
|
|
|
|
import 'package:cake_wallet/store/dashboard/orders_store.dart';
|
|
|
|
import 'package:cake_wallet/store/dashboard/trade_filter_store.dart';
|
|
|
|
import 'package:cake_wallet/store/dashboard/trades_store.dart';
|
|
|
|
import 'package:cake_wallet/store/dashboard/transaction_filter_store.dart';
|
|
|
|
import 'package:cake_wallet/store/node_list_store.dart';
|
|
|
|
import 'package:cake_wallet/store/secret_store.dart';
|
|
|
|
import 'package:cake_wallet/store/settings_store.dart';
|
|
|
|
import 'package:cake_wallet/store/templates/exchange_template_store.dart';
|
|
|
|
import 'package:cake_wallet/store/templates/send_template_store.dart';
|
|
|
|
import 'package:cake_wallet/store/wallet_list_store.dart';
|
|
|
|
import 'package:cake_wallet/store/yat/yat_store.dart';
|
2024-05-25 14:59:29 +00:00
|
|
|
import 'package:cake_wallet/tron/tron.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/view_model/auth_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/backup_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/buy/buy_amount_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/buy/buy_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/contact_list/contact_list_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/contact_list/contact_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/dashboard/balance_view_model.dart';
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
import 'package:cake_wallet/view_model/dashboard/cake_features_view_model.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/edit_backup_password_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/exchange/exchange_trade_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/exchange/exchange_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/hardware_wallet/ledger_view_model.dart';
|
2024-05-25 14:59:29 +00:00
|
|
|
import 'package:cake_wallet/view_model/link_view_model.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/view_model/monero_account_list/account_list_item.dart';
|
|
|
|
import 'package:cake_wallet/view_model/monero_account_list/monero_account_edit_or_create_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/monero_account_list/monero_account_list_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/node_list/node_create_or_edit_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/node_list/node_list_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/order_details_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/rescan_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/restore_from_backup_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/send/send_template_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/send/send_view_model.dart';
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
import 'package:cake_wallet/view_model/settings/silent_payments_settings_view_model.dart';
|
2020-09-21 11:50:26 +00:00
|
|
|
import 'package:cake_wallet/view_model/setup_pin_code_view_model.dart';
|
2021-02-25 18:25:52 +00:00
|
|
|
import 'package:cake_wallet/view_model/support_view_model.dart';
|
2020-12-18 12:42:53 +00:00
|
|
|
import 'package:cake_wallet/view_model/trade_details_view_model.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/view_model/transaction_details_view_model.dart';
|
2021-05-27 17:57:51 +00:00
|
|
|
import 'package:cake_wallet/view_model/unspent_coins/unspent_coins_details_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/unspent_coins/unspent_coins_item.dart';
|
2021-05-25 17:32:36 +00:00
|
|
|
import 'package:cake_wallet/view_model/unspent_coins/unspent_coins_list_view_model.dart';
|
2020-07-06 20:09:03 +00:00
|
|
|
import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_edit_or_create_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/view_model/wallet_hardware_restore_view_model.dart';
|
2020-07-06 20:09:03 +00:00
|
|
|
import 'package:cake_wallet/view_model/wallet_keys_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/wallet_list/wallet_list_view_model.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/view_model/wallet_new_vm.dart';
|
2020-10-13 21:11:04 +00:00
|
|
|
import 'package:cake_wallet/view_model/wallet_restore_view_model.dart';
|
2020-07-06 20:09:03 +00:00
|
|
|
import 'package:cake_wallet/view_model/wallet_seed_view_model.dart';
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
import 'package:cake_wallet/wownero/wownero.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cw_core/crypto_currency.dart';
|
2024-05-25 14:59:29 +00:00
|
|
|
import 'package:cw_core/receive_page_option.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cw_core/wallet_info.dart';
|
|
|
|
import 'package:cw_core/wallet_type.dart';
|
2024-03-28 13:30:41 +00:00
|
|
|
import 'package:flutter/foundation.dart';
|
2020-09-21 11:50:26 +00:00
|
|
|
import 'package:flutter/widgets.dart';
|
2020-06-20 07:10:00 +00:00
|
|
|
import 'package:get_it/get_it.dart';
|
2020-07-06 20:09:03 +00:00
|
|
|
import 'package:hive/hive.dart';
|
2020-10-01 16:46:23 +00:00
|
|
|
import 'package:mobx/mobx.dart';
|
2020-06-20 07:10:00 +00:00
|
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
2024-06-06 04:51:22 +00:00
|
|
|
import 'cake_pay/cake_pay_payment_credantials.dart';
|
2020-06-20 07:10:00 +00:00
|
|
|
|
|
|
|
final getIt = GetIt.instance;
|
|
|
|
|
2021-01-15 17:41:30 +00:00
|
|
|
var _isSetupFinished = false;
|
2022-10-12 17:09:57 +00:00
|
|
|
late Box<WalletInfo> _walletInfoSource;
|
|
|
|
late Box<Node> _nodeSource;
|
2023-10-05 01:09:07 +00:00
|
|
|
late Box<Node> _powNodeSource;
|
2022-10-12 17:09:57 +00:00
|
|
|
late Box<Contact> _contactSource;
|
|
|
|
late Box<Trade> _tradesSource;
|
|
|
|
late Box<Template> _templates;
|
|
|
|
late Box<ExchangeTemplate> _exchangeTemplates;
|
|
|
|
late Box<TransactionDescription> _transactionDescriptionBox;
|
|
|
|
late Box<Order> _ordersSource;
|
2023-08-24 13:54:05 +00:00
|
|
|
late Box<UnspentCoinsInfo> _unspentCoinsInfoSource;
|
2023-03-24 15:26:42 +00:00
|
|
|
late Box<AnonpayInvoiceInfo> _anonpayInvoiceInfoSource;
|
2021-01-15 17:41:30 +00:00
|
|
|
|
2023-08-24 13:54:05 +00:00
|
|
|
Future<void> setup({
|
2023-05-17 14:43:23 +00:00
|
|
|
required Box<WalletInfo> walletInfoSource,
|
|
|
|
required Box<Node> nodeSource,
|
2023-10-05 01:09:07 +00:00
|
|
|
required Box<Node> powNodeSource,
|
2023-05-17 14:43:23 +00:00
|
|
|
required Box<Contact> contactSource,
|
|
|
|
required Box<Trade> tradesSource,
|
|
|
|
required Box<Template> templates,
|
|
|
|
required Box<ExchangeTemplate> exchangeTemplates,
|
|
|
|
required Box<TransactionDescription> transactionDescriptionBox,
|
|
|
|
required Box<Order> ordersSource,
|
2023-08-24 13:54:05 +00:00
|
|
|
required Box<UnspentCoinsInfo> unspentCoinsInfoSource,
|
2023-05-17 14:43:23 +00:00
|
|
|
required Box<AnonpayInvoiceInfo> anonpayInvoiceInfoSource,
|
2024-05-08 20:23:27 +00:00
|
|
|
required SecureStorage secureStorage,
|
2024-05-08 00:00:01 +00:00
|
|
|
required GlobalKey<NavigatorState> navigatorKey,
|
2023-05-17 14:43:23 +00:00
|
|
|
}) async {
|
2021-01-15 17:41:30 +00:00
|
|
|
_walletInfoSource = walletInfoSource;
|
|
|
|
_nodeSource = nodeSource;
|
2023-10-05 01:09:07 +00:00
|
|
|
_powNodeSource = powNodeSource;
|
2021-01-15 17:41:30 +00:00
|
|
|
_contactSource = contactSource;
|
|
|
|
_tradesSource = tradesSource;
|
|
|
|
_templates = templates;
|
|
|
|
_exchangeTemplates = exchangeTemplates;
|
|
|
|
_transactionDescriptionBox = transactionDescriptionBox;
|
2021-03-12 19:04:37 +00:00
|
|
|
_ordersSource = ordersSource;
|
2021-07-05 13:52:24 +00:00
|
|
|
_unspentCoinsInfoSource = unspentCoinsInfoSource;
|
2023-03-24 15:26:42 +00:00
|
|
|
_anonpayInvoiceInfoSource = anonpayInvoiceInfoSource;
|
2021-01-15 17:41:30 +00:00
|
|
|
|
|
|
|
if (!_isSetupFinished) {
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerSingletonAsync<SharedPreferences>(() => SharedPreferences.getInstance());
|
2024-05-08 20:23:27 +00:00
|
|
|
getIt.registerSingleton<SecureStorage>(secureStorage);
|
2021-01-15 17:41:30 +00:00
|
|
|
}
|
2023-08-07 11:43:04 +00:00
|
|
|
if (!_isSetupFinished) {
|
|
|
|
getIt.registerFactory(() => BackgroundTasks());
|
|
|
|
}
|
2023-08-04 17:55:56 +00:00
|
|
|
|
2023-08-04 17:01:49 +00:00
|
|
|
final isBitcoinBuyEnabled = (secrets.wyreSecretKey.isNotEmpty) &&
|
|
|
|
(secrets.wyreApiKey.isNotEmpty) &&
|
|
|
|
(secrets.wyreAccountId.isNotEmpty);
|
2021-06-01 18:03:35 +00:00
|
|
|
|
2021-03-16 13:20:46 +00:00
|
|
|
final settingsStore = await SettingsStoreBase.load(
|
2023-04-14 04:39:08 +00:00
|
|
|
nodeSource: _nodeSource,
|
2023-10-05 01:09:07 +00:00
|
|
|
powNodeSource: _powNodeSource,
|
2023-04-14 04:39:08 +00:00
|
|
|
isBitcoinBuyEnabled: isBitcoinBuyEnabled,
|
|
|
|
// Enforce darkTheme on platforms other than mobile till the design for other themes is completed
|
2023-11-03 05:42:18 +00:00
|
|
|
initialTheme: responsiveLayoutUtil.shouldRenderMobileUI && DeviceInfo.instance.isMobile
|
2023-08-04 13:49:26 +00:00
|
|
|
? null
|
|
|
|
: ThemeList.darkTheme,
|
2023-04-14 04:39:08 +00:00
|
|
|
);
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2021-01-15 17:41:30 +00:00
|
|
|
if (_isSetupFinished) {
|
|
|
|
return;
|
|
|
|
}
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2021-01-15 17:41:30 +00:00
|
|
|
getIt.registerFactory<Box<Node>>(() => _nodeSource);
|
2023-10-05 01:09:07 +00:00
|
|
|
getIt.registerFactory<Box<Node>>(() => _powNodeSource, instanceName: Node.boxName + "pow");
|
2020-09-21 11:50:26 +00:00
|
|
|
|
2020-07-06 20:09:03 +00:00
|
|
|
getIt.registerSingleton(AuthenticationStore());
|
|
|
|
getIt.registerSingleton<WalletListStore>(WalletListStore());
|
2020-09-21 11:50:26 +00:00
|
|
|
getIt.registerSingleton(NodeListStoreBase.instance);
|
2020-07-06 20:09:03 +00:00
|
|
|
getIt.registerSingleton<SettingsStore>(settingsStore);
|
|
|
|
getIt.registerSingleton<AppStore>(AppStore(
|
|
|
|
authenticationStore: getIt.get<AuthenticationStore>(),
|
|
|
|
walletList: getIt.get<WalletListStore>(),
|
|
|
|
settingsStore: getIt.get<SettingsStore>(),
|
|
|
|
nodeListStore: getIt.get<NodeListStore>()));
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerSingleton<TradesStore>(
|
|
|
|
TradesStore(tradesSource: _tradesSource, settingsStore: getIt.get<SettingsStore>()));
|
|
|
|
getIt.registerSingleton<OrdersStore>(
|
|
|
|
OrdersStore(ordersSource: _ordersSource, settingsStore: getIt.get<SettingsStore>()));
|
2020-08-26 17:31:23 +00:00
|
|
|
getIt.registerSingleton<TradeFilterStore>(TradeFilterStore());
|
2020-07-23 12:20:52 +00:00
|
|
|
getIt.registerSingleton<TransactionFilterStore>(TransactionFilterStore());
|
2020-09-21 11:50:26 +00:00
|
|
|
getIt.registerSingleton<FiatConversionStore>(FiatConversionStore());
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerSingleton<SendTemplateStore>(SendTemplateStore(templateSource: _templates));
|
2020-07-29 16:55:42 +00:00
|
|
|
getIt.registerSingleton<ExchangeTemplateStore>(
|
2021-01-15 17:41:30 +00:00
|
|
|
ExchangeTemplateStore(templateSource: _exchangeTemplates));
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerSingleton<YatStore>(
|
2024-05-22 01:18:04 +00:00
|
|
|
YatStore(appStore: getIt.get<AppStore>(), secureStorage: getIt.get<SecureStorage>())..init());
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerSingleton<AnonpayTransactionsStore>(
|
|
|
|
AnonpayTransactionsStore(anonpayInvoiceInfoSource: _anonpayInvoiceInfoSource));
|
2020-07-23 12:20:52 +00:00
|
|
|
|
2024-05-21 02:26:49 +00:00
|
|
|
getIt.registerLazySingleton(() => LedgerViewModel());
|
|
|
|
|
2024-05-08 20:23:27 +00:00
|
|
|
final secretStore = await SecretStoreBase.load(getIt.get<SecureStorage>());
|
2021-01-13 16:43:34 +00:00
|
|
|
|
|
|
|
getIt.registerSingleton<SecretStore>(secretStore);
|
|
|
|
|
2024-05-08 20:23:27 +00:00
|
|
|
getIt.registerFactory<KeyService>(() => KeyService(getIt.get<SecureStorage>()));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<WalletCreationService, WalletType, void>((type, _) =>
|
|
|
|
WalletCreationService(
|
2020-06-20 07:10:00 +00:00
|
|
|
initialType: type,
|
2020-07-06 20:09:03 +00:00
|
|
|
keyService: getIt.get<KeyService>(),
|
2024-05-08 20:23:27 +00:00
|
|
|
secureStorage: getIt.get<SecureStorage>(),
|
2022-07-14 11:48:59 +00:00
|
|
|
sharedPreferences: getIt.get<SharedPreferences>(),
|
2023-11-17 13:45:42 +00:00
|
|
|
settingsStore: getIt.get<SettingsStore>(),
|
2022-07-14 11:48:59 +00:00
|
|
|
walletInfoSource: _walletInfoSource));
|
2020-06-20 07:10:00 +00:00
|
|
|
|
2023-11-22 21:37:05 +00:00
|
|
|
getIt.registerFactoryParam<AdvancedPrivacySettingsViewModel, WalletType, void>(
|
2024-01-23 00:30:16 +00:00
|
|
|
(type, _) => AdvancedPrivacySettingsViewModel(type, getIt.get<SettingsStore>()));
|
2023-11-22 21:37:05 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory<WalletLoadingService>(() => WalletLoadingService(
|
2022-07-19 14:29:28 +00:00
|
|
|
getIt.get<SharedPreferences>(),
|
|
|
|
getIt.get<KeyService>(),
|
|
|
|
(WalletType type) => getIt.get<WalletService>(param1: type)));
|
2024-01-23 00:30:16 +00:00
|
|
|
|
|
|
|
getIt.registerFactoryParam<WalletNewVM, WalletType, void>((type, _) => WalletNewVM(
|
|
|
|
getIt.get<AppStore>(),
|
|
|
|
getIt.get<WalletCreationService>(param1: type),
|
|
|
|
_walletInfoSource,
|
|
|
|
getIt.get<AdvancedPrivacySettingsViewModel>(param1: type),
|
|
|
|
type: type));
|
2020-06-20 07:10:00 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<WalletRestorationFromQRVM, WalletType, void>((WalletType type, _) {
|
2023-04-21 18:36:47 +00:00
|
|
|
return WalletRestorationFromQRVM(getIt.get<AppStore>(),
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.get<WalletCreationService>(param1: type), _walletInfoSource, type);
|
2023-04-21 18:36:47 +00:00
|
|
|
});
|
|
|
|
|
2024-05-05 01:44:50 +00:00
|
|
|
getIt.registerFactoryParam<WalletHardwareRestoreViewModel, WalletType, void>((type, _) =>
|
|
|
|
WalletHardwareRestoreViewModel(getIt.get<LedgerViewModel>(), getIt.get<AppStore>(),
|
|
|
|
getIt.get<WalletCreationService>(param1: type), _walletInfoSource,
|
|
|
|
type: type));
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory<WalletAddressListViewModel>(() => WalletAddressListViewModel(
|
|
|
|
appStore: getIt.get<AppStore>(),
|
|
|
|
yatStore: getIt.get<YatStore>(),
|
|
|
|
fiatConversionStore: getIt.get<FiatConversionStore>()));
|
2020-06-20 07:10:00 +00:00
|
|
|
|
2020-08-25 16:32:40 +00:00
|
|
|
getIt.registerFactory(() => BalanceViewModel(
|
2020-09-24 09:16:13 +00:00
|
|
|
appStore: getIt.get<AppStore>(),
|
2020-08-25 16:32:40 +00:00
|
|
|
settingsStore: getIt.get<SettingsStore>(),
|
2020-09-21 11:50:26 +00:00
|
|
|
fiatConvertationStore: getIt.get<FiatConversionStore>()));
|
2020-07-23 12:20:52 +00:00
|
|
|
|
2020-08-25 16:32:40 +00:00
|
|
|
getIt.registerFactory(() => DashboardViewModel(
|
|
|
|
balanceViewModel: getIt.get<BalanceViewModel>(),
|
|
|
|
appStore: getIt.get<AppStore>(),
|
|
|
|
tradesStore: getIt.get<TradesStore>(),
|
|
|
|
tradeFilterStore: getIt.get<TradeFilterStore>(),
|
2021-03-16 13:20:46 +00:00
|
|
|
transactionFilterStore: getIt.get<TransactionFilterStore>(),
|
2021-03-24 10:22:42 +00:00
|
|
|
settingsStore: settingsStore,
|
2021-10-01 15:13:10 +00:00
|
|
|
yatStore: getIt.get<YatStore>(),
|
2023-03-24 15:26:42 +00:00
|
|
|
ordersStore: getIt.get<OrdersStore>(),
|
2023-12-19 13:16:15 +00:00
|
|
|
anonpayTransactionsStore: getIt.get<AnonpayTransactionsStore>(),
|
2024-03-10 02:02:30 +00:00
|
|
|
sharedPreferences: getIt.get<SharedPreferences>(),
|
2023-12-19 13:16:15 +00:00
|
|
|
keyService: getIt.get<KeyService>()));
|
2020-06-20 07:10:00 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory<AuthService>(
|
|
|
|
() => AuthService(
|
2024-05-08 20:23:27 +00:00
|
|
|
secureStorage: getIt.get<SecureStorage>(),
|
2022-12-13 15:19:31 +00:00
|
|
|
sharedPreferences: getIt.get<SharedPreferences>(),
|
|
|
|
settingsStore: getIt.get<SettingsStore>(),
|
2023-05-17 14:43:23 +00:00
|
|
|
),
|
|
|
|
);
|
2020-06-20 07:10:00 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory<AuthViewModel>(() => AuthViewModel(getIt.get<AuthService>(),
|
|
|
|
getIt.get<SharedPreferences>(), getIt.get<SettingsStore>(), BiometricAuth()));
|
|
|
|
|
|
|
|
getIt.registerFactoryParam<AuthPage, void Function(bool, AuthPageState), bool>(
|
|
|
|
(onAuthFinished, closable) => AuthPage(getIt.get<AuthViewModel>(),
|
|
|
|
onAuthenticationFinished: onAuthFinished, closable: closable));
|
|
|
|
|
2023-09-28 18:40:15 +00:00
|
|
|
getIt.registerLazySingleton<Setup2FAViewModel>(
|
2023-05-17 14:43:23 +00:00
|
|
|
() => Setup2FAViewModel(
|
2022-12-05 19:14:46 +00:00
|
|
|
getIt.get<SettingsStore>(),
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.get<SharedPreferences>(),
|
|
|
|
getIt.get<AuthService>(),
|
|
|
|
),
|
|
|
|
);
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<TotpAuthCodePage, TotpAuthArgumentsModel, void>(
|
|
|
|
(totpAuthPageArguments, _) => TotpAuthCodePage(
|
|
|
|
getIt.get<Setup2FAViewModel>(),
|
|
|
|
totpArguments: totpAuthPageArguments,
|
|
|
|
),
|
|
|
|
);
|
2020-06-20 07:10:00 +00:00
|
|
|
|
2024-05-08 00:00:01 +00:00
|
|
|
getIt.registerLazySingleton<LinkViewModel>(() {
|
|
|
|
return LinkViewModel(
|
|
|
|
appStore: getIt.get<AppStore>(),
|
|
|
|
settingsStore: getIt.get<SettingsStore>(),
|
|
|
|
authenticationStore: getIt.get<AuthenticationStore>(),
|
|
|
|
navigatorKey: navigatorKey,
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
getIt.registerFactory<AuthPage>(instanceName: 'login', () {
|
|
|
|
return AuthPage(getIt.get<AuthViewModel>(), closable: false,
|
2023-05-17 14:43:23 +00:00
|
|
|
onAuthenticationFinished: (isAuthenticated, AuthPageState authPageState) {
|
|
|
|
if (!isAuthenticated) {
|
|
|
|
return;
|
2024-05-08 00:00:01 +00:00
|
|
|
}
|
|
|
|
final authStore = getIt.get<AuthenticationStore>();
|
|
|
|
final appStore = getIt.get<AppStore>();
|
|
|
|
final useTotp = appStore.settingsStore.useTOTP2FA;
|
|
|
|
final shouldUseTotp2FAToAccessWallets =
|
|
|
|
appStore.settingsStore.shouldRequireTOTP2FAForAccessingWallet;
|
|
|
|
if (useTotp && shouldUseTotp2FAToAccessWallets) {
|
|
|
|
authPageState.close(
|
|
|
|
route: Routes.totpAuthCodePage,
|
|
|
|
arguments: TotpAuthArgumentsModel(
|
|
|
|
isForSetup: false,
|
|
|
|
isClosable: false,
|
|
|
|
onTotpAuthenticationFinished:
|
|
|
|
(bool isAuthenticatedSuccessfully, TotpAuthCodePageState totpAuthPageState) async {
|
|
|
|
if (!isAuthenticatedSuccessfully) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (appStore.wallet != null) {
|
|
|
|
authStore.allowed();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
totpAuthPageState.changeProcessText('Loading the wallet');
|
|
|
|
|
|
|
|
if (loginError != null) {
|
|
|
|
totpAuthPageState.changeProcessText('ERROR: ${loginError.toString()}');
|
|
|
|
}
|
|
|
|
|
|
|
|
ReactionDisposer? _reaction;
|
|
|
|
_reaction = reaction((_) => appStore.wallet, (Object? _) {
|
|
|
|
_reaction?.reaction.dispose();
|
|
|
|
authStore.allowed();
|
|
|
|
});
|
|
|
|
},
|
|
|
|
),
|
|
|
|
);
|
2023-05-17 14:43:23 +00:00
|
|
|
} else {
|
2024-05-08 00:00:01 +00:00
|
|
|
// wallet is already loaded:
|
|
|
|
if (appStore.wallet != null) {
|
|
|
|
// goes to the dashboard:
|
|
|
|
authStore.allowed();
|
|
|
|
// trigger any deep links:
|
|
|
|
final linkViewModel = getIt.get<LinkViewModel>();
|
|
|
|
if (linkViewModel.currentLink != null) {
|
|
|
|
linkViewModel.handleLink();
|
2023-05-17 14:43:23 +00:00
|
|
|
}
|
2024-05-08 00:00:01 +00:00
|
|
|
return;
|
|
|
|
}
|
2023-05-17 14:43:23 +00:00
|
|
|
|
2024-05-08 00:00:01 +00:00
|
|
|
// load the wallet:
|
2023-05-17 14:43:23 +00:00
|
|
|
|
2024-05-08 00:00:01 +00:00
|
|
|
authPageState.changeProcessText('Loading the wallet');
|
2023-05-17 14:43:23 +00:00
|
|
|
|
2024-05-08 00:00:01 +00:00
|
|
|
if (loginError != null) {
|
|
|
|
authPageState.changeProcessText('ERROR: ${loginError.toString()}');
|
2023-05-17 14:43:23 +00:00
|
|
|
}
|
2024-05-08 00:00:01 +00:00
|
|
|
|
|
|
|
ReactionDisposer? _reaction;
|
|
|
|
_reaction = reaction((_) => appStore.wallet, (Object? _) {
|
|
|
|
_reaction?.reaction.dispose();
|
|
|
|
authStore.allowed();
|
|
|
|
final linkViewModel = getIt.get<LinkViewModel>();
|
|
|
|
if (linkViewModel.currentLink != null) {
|
|
|
|
linkViewModel.handleLink();
|
|
|
|
}
|
|
|
|
});
|
2023-05-17 14:43:23 +00:00
|
|
|
}
|
2024-05-08 00:00:01 +00:00
|
|
|
});
|
|
|
|
});
|
2023-05-17 14:43:23 +00:00
|
|
|
|
2023-10-03 14:56:10 +00:00
|
|
|
getIt.registerSingleton<BottomSheetService>(BottomSheetServiceImpl());
|
2023-10-05 01:09:07 +00:00
|
|
|
|
2023-10-03 14:56:10 +00:00
|
|
|
final appStore = getIt.get<AppStore>();
|
|
|
|
|
2023-12-28 01:37:36 +00:00
|
|
|
getIt.registerLazySingleton<WalletConnectKeyService>(() => KeyServiceImpl());
|
2023-10-03 14:56:10 +00:00
|
|
|
|
|
|
|
getIt.registerLazySingleton<Web3WalletService>(() {
|
2024-05-05 01:44:50 +00:00
|
|
|
final Web3WalletService web3WalletService = Web3WalletService(getIt.get<BottomSheetService>(),
|
|
|
|
getIt.get<WalletConnectKeyService>(), appStore, getIt.get<SharedPreferences>());
|
2023-10-03 14:56:10 +00:00
|
|
|
web3WalletService.create();
|
|
|
|
return web3WalletService;
|
|
|
|
});
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() => BalancePage(
|
2023-11-22 17:43:26 +00:00
|
|
|
nftViewModel: getIt.get<NFTViewModel>(),
|
2023-04-14 04:39:08 +00:00
|
|
|
dashboardViewModel: getIt.get<DashboardViewModel>(),
|
2023-05-17 14:43:23 +00:00
|
|
|
settingsStore: getIt.get<SettingsStore>()));
|
|
|
|
|
|
|
|
getIt.registerFactory<DashboardPage>(() => DashboardPage(
|
2023-10-03 14:56:10 +00:00
|
|
|
bottomSheetService: getIt.get<BottomSheetService>(),
|
2023-05-17 14:43:23 +00:00
|
|
|
balancePage: getIt.get<BalancePage>(),
|
|
|
|
dashboardViewModel: getIt.get<DashboardViewModel>(),
|
|
|
|
addressListViewModel: getIt.get<WalletAddressListViewModel>(),
|
|
|
|
));
|
2023-04-21 15:21:31 +00:00
|
|
|
|
2023-04-14 04:39:08 +00:00
|
|
|
getIt.registerFactory<DesktopSidebarWrapper>(() {
|
|
|
|
final GlobalKey<NavigatorState> _navigatorKey = GlobalKey<NavigatorState>();
|
|
|
|
return DesktopSidebarWrapper(
|
2023-10-19 16:25:44 +00:00
|
|
|
bottomSheetService: getIt.get<BottomSheetService>(),
|
2023-04-14 04:39:08 +00:00
|
|
|
dashboardViewModel: getIt.get<DashboardViewModel>(),
|
|
|
|
desktopSidebarViewModel: getIt.get<DesktopSidebarViewModel>(),
|
|
|
|
child: getIt.get<DesktopDashboardPage>(param1: _navigatorKey),
|
|
|
|
desktopNavigatorKey: _navigatorKey,
|
|
|
|
);
|
|
|
|
});
|
|
|
|
getIt.registerFactoryParam<DesktopDashboardPage, GlobalKey<NavigatorState>, void>(
|
|
|
|
(desktopKey, _) => DesktopDashboardPage(
|
2023-05-17 14:43:23 +00:00
|
|
|
balancePage: getIt.get<BalancePage>(),
|
|
|
|
dashboardViewModel: getIt.get<DashboardViewModel>(),
|
|
|
|
addressListViewModel: getIt.get<WalletAddressListViewModel>(),
|
|
|
|
desktopKey: desktopKey,
|
|
|
|
));
|
|
|
|
|
|
|
|
getIt.registerFactory<TransactionsPage>(
|
|
|
|
() => TransactionsPage(dashboardViewModel: getIt.get<DashboardViewModel>()));
|
|
|
|
|
2023-12-30 19:55:17 +00:00
|
|
|
getIt.registerFactory<Setup2FAInfoPage>(() => Setup2FAInfoPage());
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory<Setup2FAPage>(
|
|
|
|
() => Setup2FAPage(setup2FAViewModel: getIt.get<Setup2FAViewModel>()));
|
|
|
|
|
|
|
|
getIt.registerFactory<Setup2FAQRPage>(
|
|
|
|
() => Setup2FAQRPage(setup2FAViewModel: getIt.get<Setup2FAViewModel>()));
|
2023-04-14 04:39:08 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory<Modify2FAPage>(
|
|
|
|
() => Modify2FAPage(setup2FAViewModel: getIt.get<Setup2FAViewModel>()));
|
2023-04-14 04:39:08 +00:00
|
|
|
|
2024-05-31 12:57:30 +00:00
|
|
|
getIt.registerFactory<DesktopSettingsPage>(() => DesktopSettingsPage(getIt.get<DashboardViewModel>()));
|
2023-10-19 16:25:44 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<ReceiveOptionViewModel, ReceivePageOption?, void>(
|
|
|
|
(pageOption, _) => ReceiveOptionViewModel(getIt.get<AppStore>().wallet!, pageOption));
|
2023-03-24 15:26:42 +00:00
|
|
|
|
2023-04-14 04:39:08 +00:00
|
|
|
getIt.registerFactoryParam<AnonInvoicePageViewModel, List<dynamic>, void>((args, _) {
|
2023-03-24 15:26:42 +00:00
|
|
|
final address = args.first as String;
|
|
|
|
final pageOption = args.last as ReceivePageOption;
|
|
|
|
return AnonInvoicePageViewModel(
|
2023-04-14 04:39:08 +00:00
|
|
|
getIt.get<AnonPayApi>(),
|
|
|
|
address,
|
|
|
|
getIt.get<SettingsStore>(),
|
|
|
|
getIt.get<AppStore>().wallet!,
|
|
|
|
_anonpayInvoiceInfoSource,
|
2023-03-24 15:26:42 +00:00
|
|
|
getIt.get<SharedPreferences>(),
|
|
|
|
pageOption,
|
2023-04-14 04:39:08 +00:00
|
|
|
);
|
2023-05-17 14:43:23 +00:00
|
|
|
});
|
2023-03-24 15:26:42 +00:00
|
|
|
|
2023-04-14 04:39:08 +00:00
|
|
|
getIt.registerFactoryParam<AnonPayInvoicePage, List<dynamic>, void>((List<dynamic> args, _) {
|
2023-03-24 15:26:42 +00:00
|
|
|
final pageOption = args.last as ReceivePageOption;
|
2023-05-17 14:43:23 +00:00
|
|
|
return AnonPayInvoicePage(getIt.get<AnonInvoicePageViewModel>(param1: args),
|
|
|
|
getIt.get<ReceiveOptionViewModel>(param1: pageOption));
|
|
|
|
});
|
2023-04-14 04:39:08 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory<ReceivePage>(
|
|
|
|
() => ReceivePage(addressListViewModel: getIt.get<WalletAddressListViewModel>()));
|
2022-03-30 15:57:04 +00:00
|
|
|
getIt.registerFactory<AddressPage>(() => AddressPage(
|
|
|
|
addressListViewModel: getIt.get<WalletAddressListViewModel>(),
|
2023-04-14 04:39:08 +00:00
|
|
|
dashboardViewModel: getIt.get<DashboardViewModel>(),
|
2023-03-24 15:26:42 +00:00
|
|
|
receiveOptionViewModel: getIt.get<ReceiveOptionViewModel>()));
|
2020-06-20 07:10:00 +00:00
|
|
|
|
2023-01-20 19:50:45 +00:00
|
|
|
getIt.registerFactoryParam<WalletAddressEditOrCreateViewModel, WalletAddressListItem?, void>(
|
2023-05-17 14:43:23 +00:00
|
|
|
(WalletAddressListItem? item, _) =>
|
|
|
|
WalletAddressEditOrCreateViewModel(wallet: getIt.get<AppStore>().wallet!, item: item));
|
2020-06-20 07:10:00 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<AddressEditOrCreatePage, dynamic, void>((dynamic item, _) =>
|
|
|
|
AddressEditOrCreatePage(
|
2020-06-20 07:10:00 +00:00
|
|
|
addressEditOrCreateViewModel:
|
2020-07-06 20:09:03 +00:00
|
|
|
getIt.get<WalletAddressEditOrCreateViewModel>(param1: item)));
|
|
|
|
|
2021-07-16 09:32:36 +00:00
|
|
|
getIt.registerFactory<SendTemplateViewModel>(() => SendTemplateViewModel(
|
2022-10-12 17:09:57 +00:00
|
|
|
getIt.get<AppStore>().wallet!,
|
2020-08-25 16:32:40 +00:00
|
|
|
getIt.get<AppStore>().settingsStore,
|
2020-10-07 05:58:22 +00:00
|
|
|
getIt.get<SendTemplateStore>(),
|
2022-01-21 13:02:00 +00:00
|
|
|
getIt.get<FiatConversionStore>()));
|
2021-07-16 09:32:36 +00:00
|
|
|
|
2023-08-04 13:49:26 +00:00
|
|
|
getIt.registerFactory<SendViewModel>(
|
|
|
|
() => SendViewModel(
|
2023-09-01 15:06:18 +00:00
|
|
|
getIt.get<AppStore>(),
|
2021-07-16 09:32:36 +00:00
|
|
|
getIt.get<SendTemplateViewModel>(),
|
2020-11-06 18:54:00 +00:00
|
|
|
getIt.get<FiatConversionStore>(),
|
2022-04-22 15:00:28 +00:00
|
|
|
getIt.get<BalanceViewModel>(),
|
2023-08-04 13:49:26 +00:00
|
|
|
getIt.get<ContactListViewModel>(),
|
|
|
|
_transactionDescriptionBox,
|
2024-05-22 01:18:04 +00:00
|
|
|
getIt.get<AppStore>().wallet!.isHardwareWallet ? getIt.get<LedgerViewModel>() : null,
|
2023-08-04 13:49:26 +00:00
|
|
|
),
|
|
|
|
);
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2022-11-08 14:56:27 +00:00
|
|
|
getIt.registerFactoryParam<SendPage, PaymentRequest?, void>(
|
|
|
|
(PaymentRequest? initialPaymentRequest, _) => SendPage(
|
2023-05-17 14:43:23 +00:00
|
|
|
sendViewModel: getIt.get<SendViewModel>(),
|
2023-08-04 13:49:26 +00:00
|
|
|
authService: getIt.get<AuthService>(),
|
2023-05-17 14:43:23 +00:00
|
|
|
initialPaymentRequest: initialPaymentRequest,
|
|
|
|
));
|
2022-12-05 19:14:46 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(
|
|
|
|
() => SendTemplatePage(sendTemplateViewModel: getIt.get<SendTemplateViewModel>()));
|
2020-07-29 16:55:42 +00:00
|
|
|
|
2023-04-14 04:39:08 +00:00
|
|
|
if (DeviceInfo.instance.isMobile) {
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(
|
|
|
|
() => WalletListViewModel(
|
2023-04-14 04:39:08 +00:00
|
|
|
_walletInfoSource,
|
|
|
|
getIt.get<AppStore>(),
|
|
|
|
getIt.get<WalletLoadingService>(),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
} else {
|
|
|
|
// register wallet list view model as singleton on desktop since it can be accessed
|
|
|
|
// from multiple places at the same time (Wallets DropDown, Wallets List in settings)
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerLazySingleton(
|
|
|
|
() => WalletListViewModel(
|
2023-04-14 04:39:08 +00:00
|
|
|
_walletInfoSource,
|
|
|
|
getIt.get<AppStore>(),
|
|
|
|
getIt.get<WalletLoadingService>(),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
2020-06-20 07:10:00 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() => WalletListPage(
|
|
|
|
walletListViewModel: getIt.get<WalletListViewModel>(),
|
|
|
|
authService: getIt.get<AuthService>(),
|
|
|
|
));
|
2020-06-20 07:10:00 +00:00
|
|
|
|
2023-07-12 23:20:11 +00:00
|
|
|
getIt.registerFactoryParam<WalletEditViewModel, WalletListViewModel, void>(
|
2023-08-04 13:49:26 +00:00
|
|
|
(WalletListViewModel walletListViewModel, _) =>
|
|
|
|
WalletEditViewModel(walletListViewModel, getIt.get<WalletLoadingService>()));
|
2023-07-12 23:20:11 +00:00
|
|
|
|
|
|
|
getIt.registerFactoryParam<WalletEditPage, List<dynamic>, void>((args, _) {
|
|
|
|
final walletListViewModel = args.first as WalletListViewModel;
|
|
|
|
final editingWallet = args.last as WalletListItem;
|
|
|
|
return WalletEditPage(
|
|
|
|
walletEditViewModel: getIt.get<WalletEditViewModel>(param1: walletListViewModel),
|
|
|
|
authService: getIt.get<AuthService>(),
|
|
|
|
walletNewVM: getIt.get<WalletNewVM>(param1: editingWallet.type),
|
|
|
|
editingWallet: editingWallet);
|
|
|
|
});
|
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
getIt.registerFactory<NanoAccountListViewModel>(() {
|
2022-10-12 17:09:57 +00:00
|
|
|
final wallet = getIt.get<AppStore>().wallet!;
|
2023-10-05 01:09:07 +00:00
|
|
|
if (wallet.type == WalletType.nano || wallet.type == WalletType.banano) {
|
|
|
|
return NanoAccountListViewModel(wallet);
|
|
|
|
}
|
|
|
|
throw Exception(
|
|
|
|
'Unexpected wallet type: ${wallet.type} for generate Nano/Banano AccountListViewModel');
|
|
|
|
});
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
getIt.registerFactory<MoneroAccountListViewModel>(() {
|
|
|
|
final wallet = getIt.get<AppStore>().wallet!;
|
2022-03-30 15:57:04 +00:00
|
|
|
if (wallet.type == WalletType.monero || wallet.type == WalletType.haven) {
|
2020-07-06 20:09:03 +00:00
|
|
|
return MoneroAccountListViewModel(wallet);
|
|
|
|
}
|
2023-05-17 14:43:23 +00:00
|
|
|
throw Exception(
|
2023-10-05 12:18:35 +00:00
|
|
|
'Unexpected wallet type: ${wallet.type} for generate Monero AccountListViewModel');
|
2020-06-20 07:10:00 +00:00
|
|
|
});
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(
|
|
|
|
() => MoneroAccountListPage(accountListViewModel: getIt.get<MoneroAccountListViewModel>()));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
getIt.registerFactory(
|
|
|
|
() => NanoAccountListPage(accountListViewModel: getIt.get<NanoAccountListViewModel>()));
|
|
|
|
|
2020-11-17 18:16:58 +00:00
|
|
|
/*getIt.registerFactory(() {
|
2020-07-06 20:09:03 +00:00
|
|
|
final wallet = getIt.get<AppStore>().wallet;
|
|
|
|
|
|
|
|
if (wallet is MoneroWallet) {
|
|
|
|
return MoneroAccountEditOrCreateViewModel(wallet.accountList);
|
|
|
|
}
|
|
|
|
|
|
|
|
// FIXME: throw exception.
|
|
|
|
return null;
|
|
|
|
});
|
|
|
|
|
|
|
|
getIt.registerFactory(() => MoneroAccountEditOrCreatePage(
|
|
|
|
moneroAccountCreationViewModel:
|
2020-11-17 18:16:58 +00:00
|
|
|
getIt.get<MoneroAccountEditOrCreateViewModel>()));*/
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<MoneroAccountEditOrCreateViewModel, AccountListItem?, void>(
|
2022-10-24 19:25:14 +00:00
|
|
|
(AccountListItem? account, _) => MoneroAccountEditOrCreateViewModel(
|
2022-10-12 17:09:57 +00:00
|
|
|
monero!.getAccountList(getIt.get<AppStore>().wallet!),
|
|
|
|
haven?.getAccountList(getIt.get<AppStore>().wallet!),
|
|
|
|
wallet: getIt.get<AppStore>().wallet!,
|
2021-01-13 16:43:34 +00:00
|
|
|
accountListItem: account));
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<MoneroAccountEditOrCreatePage, AccountListItem?, void>(
|
2022-10-24 19:25:14 +00:00
|
|
|
(AccountListItem? account, _) => MoneroAccountEditOrCreatePage(
|
2020-11-17 18:16:58 +00:00
|
|
|
moneroAccountCreationViewModel:
|
2021-01-13 16:43:34 +00:00
|
|
|
getIt.get<MoneroAccountEditOrCreateViewModel>(param1: account)));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
getIt.registerFactoryParam<NanoAccountEditOrCreateViewModel, NanoAccount?, void>(
|
|
|
|
(NanoAccount? account, _) =>
|
|
|
|
NanoAccountEditOrCreateViewModel(nano!.getAccountList(getIt.get<AppStore>().wallet!),
|
|
|
|
// banano?.getAccountList(getIt.get<AppStore>().wallet!),
|
|
|
|
wallet: getIt.get<AppStore>().wallet!,
|
|
|
|
accountListItem: account));
|
|
|
|
|
|
|
|
getIt.registerFactoryParam<NanoAccountEditOrCreatePage, NanoAccount?, void>(
|
|
|
|
(NanoAccount? account, _) => NanoAccountEditOrCreatePage(
|
|
|
|
nanoAccountCreationViewModel:
|
|
|
|
getIt.get<NanoAccountEditOrCreateViewModel>(param1: account)));
|
|
|
|
|
2020-08-25 16:32:40 +00:00
|
|
|
getIt.registerFactory(() {
|
2022-11-25 20:51:07 +00:00
|
|
|
return DisplaySettingsViewModel(getIt.get<SettingsStore>());
|
2020-08-25 16:32:40 +00:00
|
|
|
});
|
2020-07-06 20:09:03 +00:00
|
|
|
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
getIt.registerFactory(() =>
|
|
|
|
SilentPaymentsSettingsViewModel(getIt.get<SettingsStore>(), getIt.get<AppStore>().wallet!));
|
|
|
|
|
2022-11-23 17:06:41 +00:00
|
|
|
getIt.registerFactory(() {
|
2023-08-04 17:01:49 +00:00
|
|
|
return PrivacySettingsViewModel(getIt.get<SettingsStore>(), getIt.get<AppStore>().wallet!);
|
2022-11-23 17:06:41 +00:00
|
|
|
});
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-11-16 23:23:34 +00:00
|
|
|
getIt.registerFactory(() => TrocadorProvidersViewModel(getIt.get<SettingsStore>()));
|
|
|
|
|
2022-11-23 17:06:41 +00:00
|
|
|
getIt.registerFactory(() {
|
2022-11-26 00:33:37 +00:00
|
|
|
return OtherSettingsViewModel(getIt.get<SettingsStore>(), getIt.get<AppStore>().wallet!);
|
2022-11-23 17:06:41 +00:00
|
|
|
});
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2022-11-23 17:06:41 +00:00
|
|
|
getIt.registerFactory(() {
|
2024-01-26 22:51:21 +00:00
|
|
|
return SecuritySettingsViewModel(getIt.get<SettingsStore>());
|
2022-11-23 17:06:41 +00:00
|
|
|
});
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() => WalletSeedViewModel(getIt.get<AppStore>().wallet!));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-12-09 01:37:39 +00:00
|
|
|
getIt.registerFactory<SeedTypeViewModel>(() => SeedTypeViewModel(getIt.get<AppStore>()));
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<WalletSeedPage, bool, void>((bool isWalletCreated, _) =>
|
|
|
|
WalletSeedPage(getIt.get<WalletSeedViewModel>(), isNewWalletCreated: isWalletCreated));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() => WalletKeysViewModel(getIt.get<AppStore>()));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
|
|
|
getIt.registerFactory(() => WalletKeysPage(getIt.get<WalletKeysViewModel>()));
|
|
|
|
|
2022-10-12 17:09:57 +00:00
|
|
|
getIt.registerFactoryParam<ContactViewModel, ContactRecord?, void>(
|
2023-05-17 14:43:23 +00:00
|
|
|
(ContactRecord? contact, _) => ContactViewModel(_contactSource, contact: contact));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2022-12-05 16:37:35 +00:00
|
|
|
getIt.registerFactoryParam<ContactListViewModel, CryptoCurrency?, void>(
|
2023-08-04 13:49:26 +00:00
|
|
|
(CryptoCurrency? cur, _) =>
|
|
|
|
ContactListViewModel(_contactSource, _walletInfoSource, cur, getIt.get<SettingsStore>()));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-08-04 13:49:26 +00:00
|
|
|
getIt.registerFactoryParam<ContactListPage, CryptoCurrency?, void>((CryptoCurrency? cur, _) =>
|
|
|
|
ContactListPage(getIt.get<ContactListViewModel>(param1: cur), getIt.get<AuthService>()));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2022-10-12 17:09:57 +00:00
|
|
|
getIt.registerFactoryParam<ContactPage, ContactRecord?, void>(
|
2023-05-17 14:43:23 +00:00
|
|
|
(ContactRecord? contact, _) => ContactPage(getIt.get<ContactViewModel>(param1: contact)));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2020-08-27 16:54:34 +00:00
|
|
|
getIt.registerFactory(() {
|
|
|
|
final appStore = getIt.get<AppStore>();
|
2023-04-14 04:39:08 +00:00
|
|
|
return NodeListViewModel(_nodeSource, appStore);
|
2020-08-27 16:54:34 +00:00
|
|
|
});
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
getIt.registerFactory(() {
|
|
|
|
final appStore = getIt.get<AppStore>();
|
|
|
|
return PowNodeListViewModel(_powNodeSource, appStore);
|
|
|
|
});
|
|
|
|
|
2023-12-13 14:03:07 +00:00
|
|
|
getIt.registerFactory(() => ConnectionSyncPage(getIt.get<DashboardViewModel>()));
|
2022-11-16 07:29:14 +00:00
|
|
|
|
2024-05-25 14:59:29 +00:00
|
|
|
getIt.registerFactory(() => SecurityBackupPage(getIt.get<SecuritySettingsViewModel>(),
|
|
|
|
getIt.get<AuthService>(), getIt.get<AppStore>().wallet!.isHardwareWallet));
|
2022-11-16 07:29:14 +00:00
|
|
|
|
2022-11-23 17:06:41 +00:00
|
|
|
getIt.registerFactory(() => PrivacyPage(getIt.get<PrivacySettingsViewModel>()));
|
2022-11-16 07:29:14 +00:00
|
|
|
|
2023-11-16 23:23:34 +00:00
|
|
|
getIt.registerFactory(() => TrocadorProvidersPage(getIt.get<TrocadorProvidersViewModel>()));
|
|
|
|
|
2023-11-03 19:23:11 +00:00
|
|
|
getIt.registerFactory(() => DomainLookupsPage(getIt.get<PrivacySettingsViewModel>()));
|
|
|
|
|
2022-11-23 17:06:41 +00:00
|
|
|
getIt.registerFactory(() => DisplaySettingsPage(getIt.get<DisplaySettingsViewModel>()));
|
2022-11-16 07:29:14 +00:00
|
|
|
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
getIt.registerFactory(
|
|
|
|
() => SilentPaymentsSettingsPage(getIt.get<SilentPaymentsSettingsViewModel>()));
|
|
|
|
|
2022-11-23 17:06:41 +00:00
|
|
|
getIt.registerFactory(() => OtherSettingsPage(getIt.get<OtherSettingsViewModel>()));
|
2022-11-16 07:29:14 +00:00
|
|
|
|
2023-11-17 18:35:46 +00:00
|
|
|
getIt.registerFactory(() => NanoChangeRepPage(
|
|
|
|
settingsStore: getIt.get<AppStore>().settingsStore,
|
|
|
|
wallet: getIt.get<AppStore>().wallet!,
|
|
|
|
));
|
2023-10-05 01:09:07 +00:00
|
|
|
|
|
|
|
getIt.registerFactoryParam<NodeCreateOrEditViewModel, WalletType?, bool?>(
|
|
|
|
(WalletType? type, bool? isPow) => NodeCreateOrEditViewModel(
|
|
|
|
(isPow ?? false) ? _powNodeSource : _nodeSource,
|
|
|
|
type ?? getIt.get<AppStore>().wallet!.type,
|
|
|
|
getIt.get<SettingsStore>()));
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-03-15 13:24:38 +00:00
|
|
|
getIt.registerFactoryParam<NodeCreateOrEditPage, Node?, bool?>(
|
2023-05-17 14:43:23 +00:00
|
|
|
(Node? editingNode, bool? isSelected) => NodeCreateOrEditPage(
|
2023-10-05 01:09:07 +00:00
|
|
|
nodeCreateOrEditViewModel: getIt.get<NodeCreateOrEditViewModel>(param2: false),
|
|
|
|
editingNode: editingNode,
|
|
|
|
isSelected: isSelected));
|
|
|
|
|
|
|
|
getIt.registerFactoryParam<PowNodeCreateOrEditPage, Node?, bool?>(
|
|
|
|
(Node? editingNode, bool? isSelected) => PowNodeCreateOrEditPage(
|
|
|
|
nodeCreateOrEditViewModel: getIt.get<NodeCreateOrEditViewModel>(param2: true),
|
2023-03-15 13:24:38 +00:00
|
|
|
editingNode: editingNode,
|
|
|
|
isSelected: isSelected));
|
2020-07-31 15:29:21 +00:00
|
|
|
|
2024-05-05 01:44:50 +00:00
|
|
|
getIt.registerFactory<RobinhoodBuyProvider>(() => RobinhoodBuyProvider(
|
2024-05-22 01:18:04 +00:00
|
|
|
wallet: getIt.get<AppStore>().wallet!,
|
|
|
|
ledgerVM:
|
|
|
|
getIt.get<AppStore>().wallet!.isHardwareWallet ? getIt.get<LedgerViewModel>() : null));
|
2023-09-14 19:14:49 +00:00
|
|
|
|
2024-05-05 01:44:50 +00:00
|
|
|
getIt.registerFactory<DFXBuyProvider>(() => DFXBuyProvider(
|
2024-05-22 01:18:04 +00:00
|
|
|
wallet: getIt.get<AppStore>().wallet!,
|
|
|
|
ledgerVM:
|
|
|
|
getIt.get<AppStore>().wallet!.isHardwareWallet ? getIt.get<LedgerViewModel>() : null));
|
2023-12-08 14:05:52 +00:00
|
|
|
|
2024-03-28 13:30:41 +00:00
|
|
|
getIt.registerFactory<MoonPayProvider>(() => MoonPayProvider(
|
|
|
|
settingsStore: getIt.get<AppStore>().settingsStore,
|
|
|
|
wallet: getIt.get<AppStore>().wallet!,
|
|
|
|
isTestEnvironment: kDebugMode,
|
|
|
|
));
|
2023-12-08 14:05:52 +00:00
|
|
|
|
2023-04-14 04:39:08 +00:00
|
|
|
getIt.registerFactory<OnRamperBuyProvider>(() => OnRamperBuyProvider(
|
2023-12-28 19:20:59 +00:00
|
|
|
getIt.get<AppStore>().settingsStore,
|
2023-05-17 14:43:23 +00:00
|
|
|
wallet: getIt.get<AppStore>().wallet!,
|
|
|
|
));
|
2023-03-31 18:34:39 +00:00
|
|
|
|
2023-06-13 23:15:10 +00:00
|
|
|
getIt.registerFactoryParam<WebViewPage, String, Uri>((title, uri) => WebViewPage(title, uri));
|
2023-04-14 04:39:08 +00:00
|
|
|
|
|
|
|
getIt.registerFactory<PayfuraBuyProvider>(() => PayfuraBuyProvider(
|
2023-05-17 14:43:23 +00:00
|
|
|
settingsStore: getIt.get<AppStore>().settingsStore,
|
|
|
|
wallet: getIt.get<AppStore>().wallet!,
|
|
|
|
));
|
2023-04-14 04:39:08 +00:00
|
|
|
|
2020-09-01 11:18:07 +00:00
|
|
|
getIt.registerFactory(() => ExchangeViewModel(
|
2023-09-01 15:06:18 +00:00
|
|
|
getIt.get<AppStore>(),
|
2023-08-04 13:49:26 +00:00
|
|
|
_tradesSource,
|
|
|
|
getIt.get<ExchangeTemplateStore>(),
|
|
|
|
getIt.get<TradesStore>(),
|
|
|
|
getIt.get<AppStore>().settingsStore,
|
|
|
|
getIt.get<SharedPreferences>(),
|
|
|
|
getIt.get<ContactListViewModel>()));
|
2020-08-26 17:31:23 +00:00
|
|
|
|
2020-09-01 11:18:07 +00:00
|
|
|
getIt.registerFactory(() => ExchangeTradeViewModel(
|
2022-10-12 17:09:57 +00:00
|
|
|
wallet: getIt.get<AppStore>().wallet!,
|
2021-01-15 17:41:30 +00:00
|
|
|
trades: _tradesSource,
|
2020-10-30 16:32:21 +00:00
|
|
|
tradesStore: getIt.get<TradesStore>(),
|
|
|
|
sendViewModel: getIt.get<SendViewModel>()));
|
2020-07-31 15:29:21 +00:00
|
|
|
|
2024-05-08 00:00:01 +00:00
|
|
|
getIt.registerFactoryParam<ExchangePage, PaymentRequest?, void>(
|
|
|
|
(PaymentRequest? paymentRequest, __) {
|
|
|
|
return ExchangePage(getIt.get<ExchangeViewModel>(), getIt.get<AuthService>(), paymentRequest);
|
|
|
|
});
|
2020-07-31 15:29:21 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() => ExchangeConfirmPage(tradesStore: getIt.get<TradesStore>()));
|
2020-09-15 20:35:49 +00:00
|
|
|
|
2022-12-05 19:14:46 +00:00
|
|
|
getIt.registerFactory(
|
2023-05-17 14:43:23 +00:00
|
|
|
() => ExchangeTradePage(exchangeTradeViewModel: getIt.get<ExchangeTradeViewModel>()));
|
|
|
|
|
|
|
|
getIt.registerFactory(() => ExchangeTemplatePage(getIt.get<ExchangeViewModel>()));
|
2022-12-05 19:14:46 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<WalletService, WalletType, void>((WalletType param1, __) {
|
2020-09-15 20:35:49 +00:00
|
|
|
switch (param1) {
|
2022-03-30 15:57:04 +00:00
|
|
|
case WalletType.haven:
|
2022-10-12 17:09:57 +00:00
|
|
|
return haven!.createHavenWalletService(_walletInfoSource);
|
2020-09-15 20:35:49 +00:00
|
|
|
case WalletType.monero:
|
2023-08-24 13:54:05 +00:00
|
|
|
return monero!.createMoneroWalletService(_walletInfoSource, _unspentCoinsInfoSource);
|
2020-09-15 20:35:49 +00:00
|
|
|
case WalletType.bitcoin:
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
return bitcoin!.createBitcoinWalletService(
|
|
|
|
_walletInfoSource,
|
|
|
|
_unspentCoinsInfoSource,
|
|
|
|
getIt.get<SettingsStore>().silentPaymentsAlwaysScan,
|
|
|
|
);
|
2021-05-07 07:36:38 +00:00
|
|
|
case WalletType.litecoin:
|
2023-08-24 13:54:05 +00:00
|
|
|
return bitcoin!.createLitecoinWalletService(_walletInfoSource, _unspentCoinsInfoSource);
|
2023-08-04 17:01:49 +00:00
|
|
|
case WalletType.ethereum:
|
|
|
|
return ethereum!.createEthereumWalletService(_walletInfoSource);
|
2023-10-12 22:50:16 +00:00
|
|
|
case WalletType.bitcoinCash:
|
2023-11-17 18:35:46 +00:00
|
|
|
return bitcoinCash!
|
2023-12-09 01:37:39 +00:00
|
|
|
.createBitcoinCashWalletService(_walletInfoSource, _unspentCoinsInfoSource);
|
2023-10-05 01:09:07 +00:00
|
|
|
case WalletType.nano:
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
case WalletType.banano:
|
2023-10-05 01:09:07 +00:00
|
|
|
return nano!.createNanoWalletService(_walletInfoSource);
|
2023-12-02 02:26:43 +00:00
|
|
|
case WalletType.polygon:
|
|
|
|
return polygon!.createPolygonWalletService(_walletInfoSource);
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
|
|
|
case WalletType.solana:
|
|
|
|
return solana!.createSolanaWalletService(_walletInfoSource);
|
CW-525-Add-Tron-Wallet (#1327)
* chore: Initial setup for Tron Wallet
* feat: Create Tron Wallet base flow implemented, keys, address, receive, restore and proxy classes all setup
* feat: Display seed and key within the app
* feat: Activate restore from key and seed for Tron wallet
* feat: Add icon for tron wallet in wallet listing page
* feat: Activate display of receive address for tron
* feat: Fetch and display tron balance, sending transaction flow setup, fee limit calculation setup
* feat: Implement sending of native tron, setup sending of trc20 tokens
* chore: Rename function
* Delete lib/tron/tron.dart
* feat: Activate exchange for tron and its tokens, implement balance display for trc20 tokens and setup secrets configuration for tron
* feat: Implement tron token management, add, remove, delete, and get tokens in home settings view, also minor cleanup
* feat: Activate buy and sell for tron
* feat: Implement restore from QR, transactions history listing for both native transactions and trc20 transactions
* feat: Activate send all and do some minor cleanups
* chore: Fix some lint infos and warnings
* chore: Adjust configurations
* ci: Modify CI to create and add secrets for node
* fix: Fixes made while self reviewing the PR for this feature
* feat: Add guide for adding new wallet types, and add fixes to requested changes
* fix: Handle exceptions gracefully
* fix: Alternative for trc20 estimated fee
* fix: Fixes to display of amount and fee, removing clashes
* fix: Fee calculation WIP
* fix: Fix issue with handling of send all flow and display of amount and fee values before broadcasting transaction
* fix: PR review fixes and fix merge conflicts
* fix: Modify fetching assetOfTransaction [skip ci]
* fix: Move tron settings migration to 33
2024-05-03 18:00:05 +00:00
|
|
|
case WalletType.tron:
|
|
|
|
return tron!.createTronWalletService(_walletInfoSource);
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
case WalletType.wownero:
|
|
|
|
return wownero!.createWowneroWalletService(_walletInfoSource, _unspentCoinsInfoSource);
|
|
|
|
case WalletType.none:
|
2022-10-12 17:09:57 +00:00
|
|
|
throw Exception('Unexpected token: ${param1.toString()} for generating of WalletService');
|
2020-09-15 20:35:49 +00:00
|
|
|
}
|
|
|
|
});
|
2020-09-21 11:50:26 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory<SetupPinCodeViewModel>(
|
|
|
|
() => SetupPinCodeViewModel(getIt.get<AuthService>(), getIt.get<SettingsStore>()));
|
2020-09-21 11:50:26 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<SetupPinCodePage, void Function(PinCodeState<PinCodeWidget>, String),
|
|
|
|
void>(
|
|
|
|
(onSuccessfulPinSetup, _) => SetupPinCodePage(getIt.get<SetupPinCodeViewModel>(),
|
2020-09-21 11:50:26 +00:00
|
|
|
onSuccessfulPinSetup: onSuccessfulPinSetup));
|
|
|
|
|
2022-10-12 17:09:57 +00:00
|
|
|
getIt.registerFactory(() => RescanViewModel(getIt.get<AppStore>().wallet!));
|
2020-09-21 11:50:26 +00:00
|
|
|
|
|
|
|
getIt.registerFactory(() => RescanPage(getIt.get<RescanViewModel>()));
|
2020-08-20 17:43:54 +00:00
|
|
|
|
2020-09-28 15:47:43 +00:00
|
|
|
getIt.registerFactory(() => FaqPage(getIt.get<SettingsStore>()));
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<WalletRestoreViewModel, WalletType, void>((type, _) =>
|
|
|
|
WalletRestoreViewModel(
|
|
|
|
getIt.get<AppStore>(), getIt.get<WalletCreationService>(param1: type), _walletInfoSource,
|
2020-10-13 21:11:04 +00:00
|
|
|
type: type));
|
|
|
|
|
2023-12-09 01:37:39 +00:00
|
|
|
getIt.registerFactoryParam<WalletRestorePage, WalletType, void>((type, _) => WalletRestorePage(
|
|
|
|
getIt.get<WalletRestoreViewModel>(param1: type), getIt.get<SeedTypeViewModel>()));
|
2020-11-06 18:54:00 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
getIt.registerFactoryParam<WalletRestoreChooseDerivationViewModel, List<DerivationInfo>, void>(
|
|
|
|
(derivations, _) => WalletRestoreChooseDerivationViewModel(derivationInfos: derivations));
|
|
|
|
|
|
|
|
getIt.registerFactoryParam<WalletRestoreChooseDerivationPage, List<DerivationInfo>, void>(
|
2024-05-22 01:18:04 +00:00
|
|
|
(derivations, _) =>
|
2023-10-05 01:09:07 +00:00
|
|
|
WalletRestoreChooseDerivationPage(getIt.get<WalletRestoreChooseDerivationViewModel>(
|
2024-05-22 01:18:04 +00:00
|
|
|
param1: derivations,
|
2023-10-05 01:09:07 +00:00
|
|
|
)));
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<TransactionDetailsViewModel, TransactionInfo, void>(
|
|
|
|
(TransactionInfo transactionInfo, _) {
|
2022-10-12 17:09:57 +00:00
|
|
|
final wallet = getIt.get<AppStore>().wallet!;
|
2022-01-21 13:02:00 +00:00
|
|
|
return TransactionDetailsViewModel(
|
|
|
|
transactionInfo: transactionInfo,
|
|
|
|
transactionDescriptionBox: _transactionDescriptionBox,
|
|
|
|
wallet: wallet,
|
2024-04-08 14:54:58 +00:00
|
|
|
settingsStore: getIt.get<SettingsStore>(),
|
|
|
|
sendViewModel: getIt.get<SendViewModel>());
|
2022-01-21 13:02:00 +00:00
|
|
|
});
|
2020-12-22 18:42:30 +00:00
|
|
|
|
2020-11-06 18:54:00 +00:00
|
|
|
getIt.registerFactoryParam<TransactionDetailsPage, TransactionInfo, void>(
|
|
|
|
(TransactionInfo transactionInfo, _) => TransactionDetailsPage(
|
2021-01-08 18:10:37 +00:00
|
|
|
transactionDetailsViewModel:
|
|
|
|
getIt.get<TransactionDetailsViewModel>(param1: transactionInfo)));
|
2020-11-27 11:08:17 +00:00
|
|
|
|
2024-05-05 01:44:50 +00:00
|
|
|
getIt.registerFactoryParam<NewWalletTypePage, void Function(BuildContext, WalletType),
|
|
|
|
List<bool>?>((param1, additionalParams) {
|
|
|
|
final isCreate = additionalParams?[0] ?? true;
|
|
|
|
final isHardwareWallet = additionalParams?[1] ?? false;
|
|
|
|
|
|
|
|
return NewWalletTypePage(
|
|
|
|
onTypeSelected: param1,
|
|
|
|
isCreate: isCreate,
|
|
|
|
isHardwareWallet: isHardwareWallet,
|
|
|
|
);
|
|
|
|
});
|
2020-12-11 18:10:06 +00:00
|
|
|
|
2023-12-30 19:55:17 +00:00
|
|
|
getIt.registerFactoryParam<PreSeedPage, int, void>(
|
2024-01-23 00:30:16 +00:00
|
|
|
(seedPhraseLength, _) => PreSeedPage(seedPhraseLength));
|
2020-12-18 12:42:53 +00:00
|
|
|
|
|
|
|
getIt.registerFactoryParam<TradeDetailsViewModel, Trade, void>((trade, _) =>
|
2023-05-17 14:43:23 +00:00
|
|
|
TradeDetailsViewModel(
|
|
|
|
tradeForDetails: trade,
|
|
|
|
trades: _tradesSource,
|
2022-09-02 13:10:54 +00:00
|
|
|
settingsStore: getIt.get<SettingsStore>()));
|
2021-01-13 16:43:34 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactory(() => CakeFeaturesViewModel(getIt.get<CakePayService>()));
|
|
|
|
|
2024-05-08 20:23:27 +00:00
|
|
|
getIt.registerFactory(() => BackupService(getIt.get<SecureStorage>(), _walletInfoSource,
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.get<KeyService>(), getIt.get<SharedPreferences>()));
|
2021-01-13 16:43:34 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() => BackupViewModel(
|
2024-05-08 20:23:27 +00:00
|
|
|
getIt.get<SecureStorage>(), getIt.get<SecretStore>(), getIt.get<BackupService>()));
|
2021-01-13 16:43:34 +00:00
|
|
|
|
|
|
|
getIt.registerFactory(() => BackupPage(getIt.get<BackupViewModel>()));
|
|
|
|
|
2024-05-22 01:18:04 +00:00
|
|
|
getIt.registerFactory(
|
|
|
|
() => EditBackupPasswordViewModel(getIt.get<SecureStorage>(), getIt.get<SecretStore>()));
|
2021-01-13 16:43:34 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() => EditBackupPasswordPage(getIt.get<EditBackupPasswordViewModel>()));
|
2023-04-21 18:36:47 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<RestoreOptionsPage, bool, void>(
|
|
|
|
(bool isNewInstall, _) => RestoreOptionsPage(isNewInstall: isNewInstall));
|
2021-01-13 16:43:34 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() => RestoreFromBackupViewModel(getIt.get<BackupService>()));
|
2021-01-13 16:43:34 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() => RestoreFromBackupPage(getIt.get<RestoreFromBackupViewModel>()));
|
2021-01-13 17:18:28 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<TradeDetailsPage, Trade, void>(
|
|
|
|
(Trade trade, _) => TradeDetailsPage(getIt.get<TradeDetailsViewModel>(param1: trade)));
|
2021-01-15 17:41:30 +00:00
|
|
|
|
2021-04-12 18:22:22 +00:00
|
|
|
getIt.registerFactory(() => BuyAmountViewModel());
|
|
|
|
|
2023-12-28 19:20:59 +00:00
|
|
|
getIt.registerFactoryParam<BuySellOptionsPage, bool, void>(
|
2024-01-23 00:30:16 +00:00
|
|
|
(isBuyOption, _) => BuySellOptionsPage(getIt.get<DashboardViewModel>(), isBuyOption));
|
2023-09-14 19:14:49 +00:00
|
|
|
|
2021-04-12 18:22:22 +00:00
|
|
|
getIt.registerFactory(() {
|
|
|
|
final wallet = getIt.get<AppStore>().wallet;
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
return BuyViewModel(_ordersSource, getIt.get<OrdersStore>(), getIt.get<SettingsStore>(),
|
|
|
|
getIt.get<BuyAmountViewModel>(),
|
2022-10-12 17:09:57 +00:00
|
|
|
wallet: wallet!);
|
2021-04-12 18:22:22 +00:00
|
|
|
});
|
|
|
|
|
2023-10-05 12:18:35 +00:00
|
|
|
getIt.registerFactoryParam<BuyWebViewPage, List<dynamic>, void>((List<dynamic> args, _) {
|
2022-01-21 13:02:00 +00:00
|
|
|
final url = args.first as String;
|
|
|
|
final buyViewModel = args[1] as BuyViewModel;
|
2021-04-15 17:10:23 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
return BuyWebViewPage(
|
|
|
|
buyViewModel: buyViewModel, ordersStore: getIt.get<OrdersStore>(), url: url);
|
2022-01-21 13:02:00 +00:00
|
|
|
});
|
2021-04-13 18:40:44 +00:00
|
|
|
|
2022-01-21 13:02:00 +00:00
|
|
|
getIt.registerFactoryParam<OrderDetailsViewModel, Order, void>((order, _) {
|
|
|
|
final wallet = getIt.get<AppStore>().wallet;
|
2021-04-13 18:40:44 +00:00
|
|
|
|
2022-10-12 17:09:57 +00:00
|
|
|
return OrderDetailsViewModel(wallet: wallet!, orderForDetails: order);
|
2022-01-21 13:02:00 +00:00
|
|
|
});
|
2021-03-23 17:19:01 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactoryParam<OrderDetailsPage, Order, void>(
|
|
|
|
(Order order, _) => OrderDetailsPage(getIt.get<OrderDetailsViewModel>(param1: order)));
|
2021-03-23 17:19:01 +00:00
|
|
|
|
2021-02-25 18:25:52 +00:00
|
|
|
getIt.registerFactory(() => SupportViewModel());
|
|
|
|
|
|
|
|
getIt.registerFactory(() => SupportPage(getIt.get<SupportViewModel>()));
|
|
|
|
|
2024-05-22 01:18:04 +00:00
|
|
|
getIt.registerFactory(() =>
|
|
|
|
SupportChatPage(getIt.get<SupportViewModel>(), secureStorage: getIt.get<SecureStorage>()));
|
2023-08-15 00:47:25 +00:00
|
|
|
|
|
|
|
getIt.registerFactory(() => SupportOtherLinksPage(getIt.get<SupportViewModel>()));
|
|
|
|
|
2021-07-05 13:52:24 +00:00
|
|
|
getIt.registerFactory(() {
|
|
|
|
final wallet = getIt.get<AppStore>().wallet;
|
|
|
|
|
2023-10-05 12:18:35 +00:00
|
|
|
return UnspentCoinsListViewModel(wallet: wallet!, unspentCoinsInfo: _unspentCoinsInfoSource);
|
2021-07-05 13:52:24 +00:00
|
|
|
});
|
2021-05-25 17:32:36 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() =>
|
|
|
|
UnspentCoinsListPage(unspentCoinsListViewModel: getIt.get<UnspentCoinsListViewModel>()));
|
2021-05-25 17:32:36 +00:00
|
|
|
|
2022-01-21 13:02:00 +00:00
|
|
|
getIt.registerFactoryParam<UnspentCoinsDetailsViewModel, UnspentCoinsItem,
|
|
|
|
UnspentCoinsListViewModel>(
|
2023-05-17 14:43:23 +00:00
|
|
|
(item, model) =>
|
|
|
|
UnspentCoinsDetailsViewModel(unspentCoinsItem: item, unspentCoinsListViewModel: model));
|
2021-07-05 13:52:24 +00:00
|
|
|
|
2023-10-05 12:18:35 +00:00
|
|
|
getIt.registerFactoryParam<UnspentCoinsDetailsPage, List<dynamic>, void>((List<dynamic> args, _) {
|
2022-01-21 13:02:00 +00:00
|
|
|
final item = args.first as UnspentCoinsItem;
|
|
|
|
final unspentCoinsListViewModel = args[1] as UnspentCoinsListViewModel;
|
|
|
|
|
|
|
|
return UnspentCoinsDetailsPage(
|
|
|
|
unspentCoinsDetailsViewModel: getIt.get<UnspentCoinsDetailsViewModel>(
|
|
|
|
param1: item, param2: unspentCoinsListViewModel));
|
2021-07-05 13:52:24 +00:00
|
|
|
});
|
2021-05-27 17:57:51 +00:00
|
|
|
|
2022-03-15 09:11:53 +00:00
|
|
|
getIt.registerFactory(() => YatService());
|
|
|
|
|
2023-11-22 17:43:26 +00:00
|
|
|
getIt.registerFactory(() => AddressResolver(
|
|
|
|
yatService: getIt.get<YatService>(),
|
|
|
|
wallet: getIt.get<AppStore>().wallet!,
|
|
|
|
settingsStore: getIt.get<SettingsStore>()));
|
2022-06-23 09:25:00 +00:00
|
|
|
|
2023-04-21 18:03:42 +00:00
|
|
|
getIt.registerFactoryParam<FullscreenQRPage, QrViewData, void>(
|
2023-05-17 14:43:23 +00:00
|
|
|
(QrViewData viewData, _) => FullscreenQRPage(qrViewData: viewData));
|
2022-10-05 17:28:11 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactory(() => CakePayApi());
|
2022-07-28 17:03:16 +00:00
|
|
|
|
|
|
|
getIt.registerFactory(() => AnyPayApi());
|
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactory<CakePayService>(
|
|
|
|
() => CakePayService(getIt.get<SecureStorage>(), getIt.get<CakePayApi>()));
|
2022-07-28 17:03:16 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactory(() => CakePayCardsListViewModel(cakePayService: getIt.get<CakePayService>()));
|
2022-07-28 17:03:16 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactory(() => CakePayAuthViewModel(cakePayService: getIt.get<CakePayService>()));
|
2023-06-07 23:16:52 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactoryParam<CakePayPurchaseViewModel, PaymentCredential, CakePayCard>(
|
|
|
|
(PaymentCredential paymentCredential, CakePayCard card) {
|
|
|
|
return CakePayPurchaseViewModel(
|
|
|
|
cakePayService: getIt.get<CakePayService>(),
|
|
|
|
paymentCredential: paymentCredential,
|
|
|
|
card: card,
|
2023-05-17 14:43:23 +00:00
|
|
|
sendViewModel: getIt.get<SendViewModel>());
|
2022-07-28 17:03:16 +00:00
|
|
|
});
|
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactoryParam<CakePayBuyCardViewModel, CakePayVendor, void>(
|
|
|
|
(CakePayVendor vendor, _) {
|
|
|
|
return CakePayBuyCardViewModel(vendor: vendor);
|
2022-07-28 17:03:16 +00:00
|
|
|
});
|
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactory(() => CakePayAccountViewModel(cakePayService: getIt.get<CakePayService>()));
|
2022-07-28 17:03:16 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactory(() => CakePayWelcomePage(getIt.get<CakePayAuthViewModel>()));
|
2022-07-28 17:03:16 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactoryParam<CakePayVerifyOtpPage, List<dynamic>, void>((List<dynamic> args, _) {
|
2022-07-28 17:03:16 +00:00
|
|
|
final email = args.first as String;
|
|
|
|
final isSignIn = args[1] as bool;
|
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
return CakePayVerifyOtpPage(getIt.get<CakePayAuthViewModel>(), email, isSignIn);
|
2022-07-28 17:03:16 +00:00
|
|
|
});
|
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactoryParam<CakePayBuyCardPage, List<dynamic>, void>((List<dynamic> args, _) {
|
|
|
|
final vendor = args.first as CakePayVendor;
|
2022-07-28 17:03:16 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
return CakePayBuyCardPage(getIt.get<CakePayBuyCardViewModel>(param1: vendor),
|
|
|
|
getIt.get<CakePayService>());
|
2022-07-28 17:03:16 +00:00
|
|
|
});
|
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactoryParam<CakePayBuyCardDetailPage, List<dynamic>, void>(
|
2023-10-05 12:18:35 +00:00
|
|
|
(List<dynamic> args, _) {
|
2024-06-06 04:51:22 +00:00
|
|
|
final paymentCredential = args.first as PaymentCredential;
|
|
|
|
final card = args[1] as CakePayCard;
|
|
|
|
return CakePayBuyCardDetailPage(
|
|
|
|
getIt.get<CakePayPurchaseViewModel>(param1: paymentCredential, param2: card));
|
2022-07-28 17:03:16 +00:00
|
|
|
});
|
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactory(() => CakePayCardsPage(getIt.get<CakePayCardsListViewModel>()));
|
2022-09-02 13:47:45 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
getIt.registerFactory(() => CakePayAccountPage(getIt.get<CakePayAccountViewModel>()));
|
2023-04-14 04:39:08 +00:00
|
|
|
|
2024-04-08 14:54:58 +00:00
|
|
|
getIt.registerFactoryParam<RBFDetailsPage, TransactionInfo, void>(
|
2024-05-05 01:44:50 +00:00
|
|
|
(TransactionInfo transactionInfo, _) => RBFDetailsPage(
|
2024-04-08 14:54:58 +00:00
|
|
|
transactionDetailsViewModel:
|
2024-05-05 01:44:50 +00:00
|
|
|
getIt.get<TransactionDetailsViewModel>(param1: transactionInfo)));
|
2024-04-08 14:54:58 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() => AnonPayApi(
|
|
|
|
useTorOnly: getIt.get<SettingsStore>().exchangeStatus == ExchangeApiMode.torOnly,
|
|
|
|
wallet: getIt.get<AppStore>().wallet!));
|
2023-03-24 15:26:42 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
getIt.registerFactory(() =>
|
|
|
|
DesktopWalletSelectionDropDown(getIt.get<WalletListViewModel>(), getIt.get<AuthService>()));
|
2023-04-14 04:39:08 +00:00
|
|
|
|
|
|
|
getIt.registerFactory(() => DesktopSidebarViewModel());
|
|
|
|
|
2023-03-24 15:26:42 +00:00
|
|
|
getIt.registerFactoryParam<AnonpayDetailsViewModel, AnonpayInvoiceInfo, void>(
|
2023-05-17 14:43:23 +00:00
|
|
|
(AnonpayInvoiceInfo anonpayInvoiceInfo, _) => AnonpayDetailsViewModel(
|
|
|
|
anonPayApi: getIt.get<AnonPayApi>(),
|
|
|
|
anonpayInvoiceInfo: anonpayInvoiceInfo,
|
|
|
|
settingsStore: getIt.get<SettingsStore>(),
|
|
|
|
));
|
2023-03-24 15:26:42 +00:00
|
|
|
|
|
|
|
getIt.registerFactoryParam<AnonPayReceivePage, AnonpayInfoBase, void>(
|
2023-05-17 14:43:23 +00:00
|
|
|
(AnonpayInfoBase anonpayInvoiceInfo, _) =>
|
|
|
|
AnonPayReceivePage(invoiceInfo: anonpayInvoiceInfo));
|
2023-03-24 15:26:42 +00:00
|
|
|
|
|
|
|
getIt.registerFactoryParam<AnonpayDetailsPage, AnonpayInvoiceInfo, void>(
|
2023-05-17 14:43:23 +00:00
|
|
|
(AnonpayInvoiceInfo anonpayInvoiceInfo, _) => AnonpayDetailsPage(
|
|
|
|
anonpayDetailsViewModel: getIt.get<AnonpayDetailsViewModel>(param1: anonpayInvoiceInfo)));
|
2022-07-28 17:03:16 +00:00
|
|
|
|
2023-08-04 17:01:49 +00:00
|
|
|
getIt.registerFactoryParam<HomeSettingsPage, BalanceViewModel, void>((balanceViewModel, _) =>
|
|
|
|
HomeSettingsPage(getIt.get<HomeSettingsViewModel>(param1: balanceViewModel)));
|
|
|
|
|
|
|
|
getIt.registerFactoryParam<HomeSettingsViewModel, BalanceViewModel, void>(
|
|
|
|
(balanceViewModel, _) => HomeSettingsViewModel(getIt.get<SettingsStore>(), balanceViewModel));
|
|
|
|
|
|
|
|
getIt.registerFactoryParam<EditTokenPage, HomeSettingsViewModel, Map<String, dynamic>>(
|
|
|
|
(homeSettingsViewModel, arguments) => EditTokenPage(
|
|
|
|
homeSettingsViewModel: homeSettingsViewModel,
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
|
|
|
token: arguments['token'] as CryptoCurrency?,
|
2023-08-04 17:01:49 +00:00
|
|
|
initialContractAddress: arguments['contractAddress'] as String?,
|
|
|
|
),
|
|
|
|
);
|
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
getIt.registerFactoryParam<ManageNodesPage, bool, void>((bool isPow, _) {
|
|
|
|
if (isPow) {
|
|
|
|
return ManageNodesPage(isPow, powNodeListViewModel: getIt.get<PowNodeListViewModel>());
|
|
|
|
}
|
|
|
|
return ManageNodesPage(isPow, nodeListViewModel: getIt.get<NodeListViewModel>());
|
|
|
|
});
|
2023-08-04 17:55:56 +00:00
|
|
|
|
2023-11-02 14:41:11 +00:00
|
|
|
getIt.registerFactory(
|
|
|
|
() => WalletConnectConnectionsView(web3walletService: getIt.get<Web3WalletService>()));
|
|
|
|
|
2023-11-22 17:43:26 +00:00
|
|
|
getIt.registerFactory(() => NFTViewModel(appStore, getIt.get<BottomSheetService>()));
|
2023-11-18 13:43:15 +00:00
|
|
|
getIt.registerFactory<TorPage>(() => TorPage(getIt.get<AppStore>()));
|
2023-11-02 14:41:11 +00:00
|
|
|
|
2021-01-15 17:41:30 +00:00
|
|
|
_isSetupFinished = true;
|
2023-05-17 14:43:23 +00:00
|
|
|
}
|