Commit graph

132 commits

Author SHA1 Message Date
OmarHatem
d106e14e74 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into linux/password-direct-input
 Conflicts:
	cw_bitcoin/pubspec.yaml
	cw_core/lib/wallet_base.dart
	cw_monero/ios/Classes/monero_api.cpp
	lib/core/backup_service.dart
	lib/core/wallet_loading_service.dart
	lib/di.dart
	lib/main.dart
	lib/router.dart
	lib/src/screens/exchange/exchange_page.dart
	lib/src/screens/send/send_page.dart
	lib/src/screens/settings/security_backup_page.dart
	lib/src/screens/setup_2fa/setup_2fa_enter_code_page.dart
	lib/src/screens/wallet_list/wallet_list_page.dart
	lib/src/widgets/address_text_field.dart
	lib/store/settings_store.dart
	lib/view_model/exchange/exchange_view_model.dart
	lib/view_model/wallet_creation_vm.dart
	lib/view_model/wallet_new_vm.dart
	res/values/strings_yo.arb
	tool/configure.dart
2023-08-07 20:23:27 +03:00
Omar Hatem
aedf310c9d
Cw 155 monero synchronization (#1014)
* Run Monero Synchronization task in background on Android

* Add monero sync task in the load function to be registered/cancelled when user changes wallets

* Revert unused file changes

* Register Sync task on all monero wallets if any

* Add Sync Modes and change task frequency based on user's choice

* Register background task after current wallet is set

* Add Sync All toggle and change task wallets to sync accordingly

* Enable background notifications in release mode temporarily

* Disable constraints and increase the frequency of tasks

* Decrease frequency of background tasks

* Delay the background task thread till the syncing thread finish (Dummy Trial-1)

* Start Sync process and wait for it to finish

* Wait for synchronization to finish before ending the background thread
Add 10 minutes timeout duration for sync process

* Connect to node before syncing wallet

* replace testing configuration with the configurations agreed on

* Fix Conflicts with main

* Update and Migrate Background tasks to null safety

* Update workmanager version in pubspec_base also

* Move Sync options to Connection and sync page
Show Sync options only for Monero and Haven
Minor Enhancements

* Remove debugging notifications
Revert aggressive mode frequency to 6 hours [skip ci]

* Add iOS configs

* Revert debugging changes
Fix conflicts with main

* Add/Extract Sync configurations to/from backup file [skip ci]
2023-08-04 20:55:56 +03:00
Omar Hatem
3ce4000dcf
Cw 78 ethereum (#862)
* Add initial flow for ethereum

* Add initial create Eth wallet flow

* Complete Ethereum wallet creation flow

* Fix web3dart versioning issue

* Add primary receive address extracted from private key

* Implement open wallet functionality

* Implement restore wallet from seed functionality

* Fixate web3dart version as higher versions cause some issues

* Add Initial Transaction priorities for eth
Add estimated gas price

* Rename priority value to tip

* Re-order wallet types

* Change ethereum node
Fix connection issues

* Fix estimating gas for priority

* Add case for ethereum to fetch it's seeds

* Add case for ethereum to request node

* Fix Exchange screen initial pairs

* Add initial send transaction flow

* Add missing configure for ethereum class

* Add Eth address initial setup

* Fix Private key for Ethereum wallets

* Change sign/send transaction flow

* - Fix Conflicts with main
- Remove unused function from Haven configure.dart

* Add build command for ethereum package

* Add missing Node list file to pubspec

* - Fix balance display
- Fix parsing of Ethereum amount
- Add more Ethereum Nodes 

* - Fix extracting Ethereum Private key from seeds
- Integrate signing/sending transaction with the send view model

* - Update and Fix Conflicts with main

* Add Balances for ERC20 tokens

* Fix conflicts with main

* Add erc20 abi json

* Add send erc20 tokens initial function

* add missing getHeightByDate in Haven

* Allow contacts and wallets from the same tag

* Add Shiba Inu icon

* Add send ERC-20 tokens initial flow

* Add missing import in generated file

* Add initial approach for transaction sending for ERC-20 tokens

* Refactor signing/sending transactions

* Add initial flow for transactions subscription

* Refactor signing/sending transactions

* Add home settings icon

* Fix conflicts with main

* Initial flow for home settings

* Add logic flow for adding erc20 tokens

* Fix initial UI

* Finalize UI for Tokens

* Integrate UI with Ethereum flow

* Add "Enable/Disable" feature for ERC20 tokens

* Add initial Erc20 tokens

* Add Sorting and Pin Native Token features

* Fix price sorting

* Sort tokens list as well when Sort criteria changes

* - Improve sorting balances flow
- Add initial add token from search bar flow

* Fix Accounts Popup UI

* Fix Pin native token

* Fix Enabling/Disabling tokens
Fix sorting by fiat once app is opened
Improve token availability mechanism

* Fix deleting token
Fix renaming tokens

* Fix issue with search

* Add more tokens

* - Fix scroll issue
- Add ERC20 tokens placeholder image in picker

* - Separate and organize default erc20 tokens
- Fix scrolling
- Add token placeholder images in picker
- Sort disabled tokens alphabetically

* Change BNB token initial availability

* Fix Conflicts with main

* Fix Conflicts with main

* Add Verse ERC20 token to the initial tokens list

* Add rename wallet to Ethereum

* Integrate EtherScan API for fetching address transactions
Generate Ethereum specific secrets in Ethereum package

* Adjust transactions fiat price for ERC20 tokens

* Free Up GitHub Actions Ubuntu Runner Disk Space

* Free Up GitHub Actions Ubuntu Runner Disk space (trial 2)

* Fix Transaction Fee display

* Save transaction history

* Enhance loading time for erc20 tokens transactions

* Minor Fixes and Enhancements

* Fix sending erc20
fix block explorer issue

* Fix int overflow

* Fix transaction amount conversions

* Minor: `slow` -> `Slow` 

* Update build guide

* Fix fetching fiat rate taking a lot of time by only fetching enabled tokens only and making the API calls in parallel not sequential

* Update transactions on a periodic basis

* For fee, use ETH spot price, not ERC-20 spot price

* Add Etherscan History privacy option to enable/disable Etherscan API

* Show estimated fee amounts in the send screen

* fix send fiat fields parsing issue

* Fix transactions estimated fee less than actual fee

* handle balance sorting when balance is disabled
Handle empty transactions list

* Fix Delete Ethereum wallet
Fix balance < 0.01

* Fix Decimal place for Ethereum amount
Fix sending amount issue

* Change words count

* Remove balance hint and Full balance row from Ethereum wallets

* support changing the asset type in send templates

* Fix Templates for ERC tokens issues

* Fix conflicts in send templates

* Disable batch sending in Ethereum

* Fix Fee calculation with different priorities

* Fix Conflicts with main

* Add offline error to ignored exceptions

---------

Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
2023-08-04 20:01:49 +03:00
Adegoke David
4120394121
CW-266 verbose access controls for TOTP 2FA (#967)
* chore: Setup

* feat: Verbose controls for TOTP 2FA WIP [skip-ci]

* feat: Implement verbose controls for sends to contact, non contacts and internal wallets

* feat: Implement verbose 2FA control for exchanges to internal wallets [skip-ci]

* Implement verbose controls

* chore: PR cleanup

* fix: Implement fixes and recommendations on verbose controls

* feat: Localization for verbose controls settings

* fix: disable pin when 2fa is not activated

* fix: Naming error

* chore: Reformat code with linelength of 100

* fix: Wallet type page and type bug when creating wallet

* fix: add new values to be stored in local storage to both reload function and import/export functions in back_service.dart

* fix: White spaces with localization files

* fix: Switch observers in modify_2fa page to individual observer

* chore: Switch custom tab widget to reusable SettingsChoicesCell widget

* chore: Remove unneeded argument in create wallet entrypoint

* fix: Switch type for selectedCakePreference when importing preferences from backup file

* fix: Await all values being saved to local storage

---------

Co-authored-by: David Adegoke <blazebrain@Davids-MacBook-Pro.local>
2023-08-04 16:49:26 +03:00
Serhii
d5c0012964
CW-224-Allow-Monero-proxy-in-node-settings (#966)
* update setupNodeSync func

* minor fixes

* localization

* add request node with proxy

* formatting
2023-08-02 14:48:52 +03:00
Rafael Saes
8996a46784
fix: add monero rename related fixes into main (#1002) 2023-07-18 15:11:24 +03:00
Rafael Saes
8a7ef39f19
Linux: fixes for wallet rename (#1000)
* fix: missing MarketPlaceViewModel register

* fix: no auth route on wallet list _loadWallet

* fix: fixes for wallet rename with password flow

* fix: missing monero condition

* fix: navigator pop

* fix: going back case
2023-07-14 23:28:01 +03:00
Omar Hatem
62007975e1
Old state (#999)
* Fix Bitcoin transactions not showing (#978)

* handle multiple responses coming in a single event

* Add timeout for getting transaction info, to allow other transactions to be returned in case of any failure or network issue

* Handle other cases of receiving multiple messages in the same response

* Fix shib and storj (#997)

* Merge main branch

* Add missing files

---------

Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
2023-07-14 01:48:47 +03:00
OmarHatem
f51f0a1d1f Merge branch 'main' of https://github.com/cake-tech/cake_wallet into linux/password-direct-input 2023-07-13 19:06:22 +03:00
OmarHatem
e9582f31e5 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into linux/password-direct-input
 Conflicts:
	cw_bitcoin/lib/electrum_transaction_history.dart
	lib/core/wallet_loading_service.dart
	lib/di.dart
	lib/main.dart
	lib/router.dart
	lib/src/screens/dashboard/widgets/market_place_page.dart
	lib/src/screens/wallet_list/wallet_list_page.dart
	lib/view_model/wallet_list/wallet_list_view_model.dart
	macos/Podfile.lock
	res/values/strings_ar.arb
	res/values/strings_bg.arb
	res/values/strings_cs.arb
	res/values/strings_de.arb
	res/values/strings_en.arb
	res/values/strings_es.arb
	res/values/strings_fr.arb
	res/values/strings_hi.arb
	res/values/strings_hr.arb
	res/values/strings_id.arb
	res/values/strings_it.arb
	res/values/strings_ja.arb
	res/values/strings_ko.arb
	res/values/strings_my.arb
	res/values/strings_nl.arb
	res/values/strings_pl.arb
	res/values/strings_pt.arb
	res/values/strings_ru.arb
	res/values/strings_th.arb
	res/values/strings_tr.arb
	res/values/strings_uk.arb
	res/values/strings_ur.arb
	res/values/strings_zh.arb
2023-07-13 18:26:27 +03:00
Justin Ehrenhofer
d7fa9991e1
CW-306 New assets for exchange and cleanup (#993)
* CW-306 New assets for exchange and cleanup

* Remove 1inch
2023-07-13 17:31:45 +03:00
Rafael Saes
d4969633b0
Cw 426 replace trash and swipe with edit icons (#974)
* feat: Replace trash and swipe with edit icons on node list item

- replaces yellow Test button with red Delete node button with confirmation on the edit node page

* feat: make node indicator icons bigger (figma comment)

* feat: Replace trash and swipe with edit icons on wallet list page and create wallet_edit_page.dart

* fix: make delete buttons red

* fix: make wallet name wrap when it is too long

* refactor: improve logic & fix observer not refreshing

* fix: add string

* feat: remove the confirmation pop-up for switching between wallets

- which was another item on the jira issue

* fix: remove slideable widgets from node list

* feat: add edit button to currently selected node & disable deleting if selected

* fix: rename wallet also renames to new wallet files

* feat: make sure edits can't overlap existing names

* fix: improve rename flow, fix electrum transactions refresh & add delete old logic

* fix: also fix rename for monero & haven

* refactor: fix identations

* refactor: dont declare the current wallet twice

* refactor: missing newWalletInfo.id

* fix: dont unnecessarily load the current wallet

* fix: remove unnecessary reaction

* feat: make save button disabled until the text is changed

* feat: make walletEditViewModel and make state useful for pending actions

* fix: add back reaction for desktop flow

* - Remove un-necessary code
- Format Edit page

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2023-07-13 02:20:11 +03:00
OmarHatem
53d3db5340 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into linux/password-direct-input
 Conflicts:
	cw_core/lib/wallet_base.dart
	lib/core/auth_service.dart
	lib/di.dart
	lib/main.dart
	lib/router.dart
	lib/routes.dart
	lib/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart
	lib/src/screens/restore/restore_wallet_from_seed_page.dart
	lib/src/screens/settings/security_backup_page.dart
	lib/src/screens/wallet_list/wallet_list_page.dart
	lib/store/settings_store.dart
	lib/view_model/wallet_creation_vm.dart
	macos/Podfile.lock
	pubspec_base.yaml
	res/values/strings_bg.arb
	res/values/strings_en.arb
	res/values/strings_id.arb
	res/values/strings_my.arb
	res/values/strings_nl.arb
	res/values/strings_pt.arb
	res/values/strings_ru.arb
	res/values/strings_th.arb
	res/values/strings_tr.arb
	res/values/strings_uk.arb
	res/values/strings_ur.arb
	res/values/strings_zh.arb
2023-05-26 15:09:55 +03:00
Rafael Saes
9668863655
CW-320-validate-address-case (#934)
* feat: allow all-lowercase OR all-uppercase ltc1 addresses (btc1 already working)

* fix: ltc length
2023-05-24 16:48:06 +03:00
Adegoke David
43e062d1ac
Cw-263-TOTP-2FA-In-Security-Settings (#892)
* CW-263-TOTP-2FA-in-security-settings WIP

* Implement TOTP 2FA WIP

* Implement TOTP 2FA Authentication

* chore: Remove unneeded formatting

* revert formatting

* fixes

* CW-263-TOTP-2FA-in-security-settings WIP

* Setup TOTP Complete, left with Modify TOTF

* CW-263-TOTP-2FA-in-security-settings

* CW-263-TOTP-2FA-in-security-settings

* CW-263-TOTP-2FA-in-security-settings

* fix: Add copy-to-clipboard for qr secret key

* fix: Translation

* chore: Move strings into translation files

* feat: End to end flow for TOTP

* hotfix: Switch totp to use sha512

* Update strings; 8 digits and error explanation

* fix: Totp 2fa implementation feedback

* hotfix: same action for button and alert close

* feat: App should show both normal and totp auths when totp is enabled

* hotfix: prevent barrier from dismissing

* fix: Changes requested during PR review

* - Minor Enhancements
- Minor UI fixes

---------

Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2023-05-17 17:43:23 +03:00
Rafael Saes
0231298381
CW-254-proper-bitcoin-address-validation-in-exchange-screen (#900)
* feat: Proper Bitcoin address validation in exchange screen

* fix: use custom validation in addition to RegEx to make sure all address cases are validated

- for cases like P2SH addresses starting with a 3, which are not validated by bitcoin_flutter functions

* feat: add bitcoin_flutter to root project

* refactor: improve conditional isValid return chain
2023-05-15 15:39:00 +03:00
Rafael Saes
7fa7c45c0c
CW-370-add-options-to-enable-disable-buy-and-sell-actions (#920)
* feat: In the privacy settings screen, add 2 options to Enable/Disable Buy and Sell actions

* fix: add strings

* fix: add the rest of the strings

* fix: disable instead of hide buy & sell buttons

* fix: use disableSell

* fix: main actions able to be onTapped even when disabled
2023-05-15 15:26:56 +03:00
Godwin Asuquo
f2b8dd21a1
CW-240 Receive fiat currency amount and receive animations (#877)
* Redesign receive amount field

* Fix issues with animations

* Fix issues with animations

* Fix max fraction digit to 8

* add another 0

* Update amount when currency is changed

---------

Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2023-04-21 20:03:42 +02:00
Justin Ehrenhofer
ab20312e61
Add btcln; add 2 assets to SideShift (#890)
* Add btcln; add 2 assets to SideShift

* fix regex line

* change ordering
2023-04-20 20:55:44 +02:00
Serhii
f26815efb8
CW-351-Add-option-in-Privacy-settings-to-enable-disable-screenshots (#885)
* add prevent screenshots option

* fix prevent screen recording

* update localization

* Update strings_ja.arb
2023-04-20 11:59:59 +02:00
Adegoke David
7b91b0e938
Cw 262 better handle user exchange amount below minimum or maximum trade size (#868)
* CW-262-Better-handle-user-exchange-amount-below-minimum-or-maximum-trade-size

* fix: App should compute conversion even if it's not within the limits
2023-04-20 03:13:37 +02:00
Godwin Asuquo
efef30f8eb
CW-278 Enhance PIN timeout feature code (#886)
* CW-278 enhance pin timeout feature

* CW-278 enhance pin timeout feature

* Update flow to remove extension

* Replace pin request on other instances
2023-04-20 02:54:25 +02:00
M
2ff6cf43b3 Merge branch 'main' of github.com:cake-tech/cake_wallet into linux/password-direct-input 2023-04-19 15:18:43 -04:00
M
8efedbccf6 Add ability to set custom data application directory 2023-04-13 19:48:51 -04:00
Justin Ehrenhofer
7cd4e6583c
Add fiatApiKey (#858) 2023-03-31 20:22:51 +02:00
M
3b82a390c1 Add ability to enter wallet password directly. Add ability to build without flutter secure storage. Add excludeFlutterSecureStorage flag to too/configure.dart for settings for secure storage. Add wallet unlock screen. 2023-03-30 18:33:59 -04:00
Serhii
df52516964
fix auto valid for receive screen (#834) 2023-03-17 13:33:45 +02:00
Serhii
7dfc5b23bc
CW-243-Better-error-message-for-too-many-decimals (#818)
* update amoung validation

* fix decimal validator

* minor fix
2023-03-15 19:22:08 +02:00
OmarHatem
8625e33537 Merge branch 'CW-282-add-trocador-exchange' of https://github.com/cake-tech/cake_wallet into CW-317-change-fiat-api
 Conflicts:
	lib/src/screens/settings/privacy_page.dart
2023-03-02 18:58:23 +02:00
Godwin Asuquo
d5c4bd0236 change type to int 2023-03-02 17:43:42 +02:00
Godwin Asuquo
15237d5f79 Fix issues from code review 2023-03-02 17:13:25 +02:00
OmarHatem
861616fda2 use Http protocol for onion connection 2023-03-01 23:24:52 +02:00
OmarHatem
18af7e7661 remove print statements [skip ci] 2023-02-28 18:36:39 +02:00
OmarHatem
ce4b1cd4ae Update fiat API version
Enable Tor support for Fiat
2023-02-28 18:23:21 +02:00
Dimitris Apostolou
1fe1b2fd87
Fix typos 2023-02-13 18:50:03 +02:00
OmarHatem
65b2ae6680 Add LTC to twitter address parsing 2023-02-02 18:36:57 +02:00
Serhii
83c1907e31 add twitter api 2023-01-24 20:24:46 +02:00
Omar Hatem
4bf2fa6216
Merge pull request #525 from cake-tech/CW-175-Refactoring-of-crypto-currency-list
[CW-175] refactoring of crypto currency list
2022-12-27 23:02:31 +02:00
Godwin Asuquo
f15bc28219 [skip ci] fix issues from code review 2022-12-13 16:19:31 +01:00
Godwin Asuquo
6836ac6d1a Fix formatting 2022-12-09 20:18:36 +01:00
Godwin Asuquo
f6c5f96929 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-225-pin-timeout 2022-12-09 19:42:36 +01:00
Godwin Asuquo
07ea937d37 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-225-pin-timeout 2022-12-09 19:42:07 +01:00
OmarHatem
f97a4fec28 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-239-fix-restore-from-backup-using-6-digit-pin
 Conflicts:
	lib/store/settings_store.dart
2022-12-09 20:29:50 +02:00
Godwin Asuquo
9ef1186c45 Fix issues from code review 2022-12-09 17:08:52 +01:00
OmarHatem
8b333f2925 - Add disable exchange to the export/import flow
- Save changes to Disable Exchange
2022-12-07 17:14:27 +02:00
OmarHatem
c235df8935 - Fix reloading settings store
- Revert changes to backup_service.dart
2022-12-07 16:41:04 +02:00
Serhii
f4148e0989 [skip ci] rework UI for disable fiat mode 2022-12-07 12:44:08 +02:00
Godwin Asuquo
65cbdd3fbb Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-225-pin-timeout 2022-12-05 13:33:17 +01:00
OmarHatem
d961a4645e Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-239-fix-restore-from-backup-using-6-digit-pin 2022-12-02 16:59:56 +02:00
Serhii
292c4c396c remove HUSD and rename BTTBSC 2022-11-30 23:53:57 +02:00