Commit graph

91 commits

Author SHA1 Message Date
fosse
a934249acb Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-459-12-words-btc 2023-08-30 09:31:58 -04:00
Godwin Asuquo
fff5a1c419
CW-228 Auto generate monero subaddress (#902)
* Add UI and setting logic for subaddresses

* Enable auto generate subaddresses

* Rename variable

* Add comment to unused code

* Fix issue with initial state change

* Fix observable for isAppSecure

* Filter sub account contacts

* Fix select account use unused address

* Use add address if last address is unused

* Fix auto generate wallet issues

* Fix button color

* Add translation and refactored naming

* Fix PR review

* Remove unused code

* Remove unused overrides in electrum

* Fix address info null check

* CW-228 Fix ContactListViewModel condition

* CW-228 Fix Account Tile; Rework updateAddressesInBox; Fix _getAllUnusedAddresses

* CW-228 Fix unintentional address_page.dart regression

* CW-228 Fix Merge Conflicts

* CW-228 Add more translation Tools

* CW-228 More merge conflict fixes

* CW-228 Fix Merge Conflicts

* CW-228 Auto Translation improvements

* CW-228 Resolve requested Changes

---------

Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
2023-08-29 19:11:51 +03:00
fosse
b9194a3284 finally works! 2023-08-16 17:29:39 -04:00
fosse
74f6f44a4b pretty big refactor for pow, still some bugs 2023-08-16 17:09:29 -04:00
fosse
ac67d50a47 more fixes 2023-08-16 15:22:05 -04:00
fosse
d3c76b6d55 pow node changes 2023-08-09 21:05:24 -04:00
fosse
82c7648897 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-438-add-nano 2023-08-07 11:47:35 -04: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
fosse
607d767523 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-438-add-nano 2023-08-04 13:45:42 -04: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
fosse
9ebf74fa01 receive screen + node screen working 2023-07-27 10:30:07 -04:00
OmarHatem
680359e6f1 Minor Fixes and Enhancements 2023-07-21 19:58:44 +03:00
Godwin Asuquo
b974458f1b
CW-349 MacOS UI issue when navigating to Transaction details screen (#921)
* Fix macos ui issues when navigatng to transaction detail screen

* [skip ci] remove print and indent

* Refactor previous approach based on PR review

* Code Enhancements

* Fix transaction page navigation

* Fix disable secure app request for macos

* Update background color

* Update background color

* Update background color

* Remove unrelated format

* Fix navigation UI glitch

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2023-07-11 19:07:46 +03:00
OmarHatem
22eecea24e Finalize UI for Tokens 2023-06-23 00:17:54 +03:00
OmarHatem
55b5780958 Add logic flow for adding erc20 tokens 2023-06-21 03:46:58 +03:00
Adegoke David
3b073d9751
Cw-410 Null Issue With 2FA (#960)
* chore: Setup

* hotfix: null check operator used when totp arguments are null causing issues

* hotfix: null check operator used when totp arguments are null causing issues

* hotfix: null check operator used when totp arguments are null causing issues

* hotfix: null check operator used when totp arguments are null causing issues

* fix: Review changes

---------

Co-authored-by: David Adegoke <blazebrain@Davids-MacBook-Pro.local>
2023-06-06 15:13:49 +03:00
OmarHatem
78adf4a5ce Allow contacts and wallets from the same tag 2023-06-01 16:26:16 +03:00
OmarHatem
bb6f64ea97 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-78-Ethereum
 Conflicts:
	lib/src/screens/dashboard/widgets/menu_widget.dart
	lib/store/settings_store.dart
2023-05-30 14:20:21 +03:00
Omar Hatem
19cbc40e81
New versions 4.6.6 and 1.3.7 (#949)
Disable 'prevent screenshots' option from Desktop since it's not supported yet
2023-05-26 21:13:22 +03:00
OmarHatem
256cbc09fc Fix conflicts with main 2023-05-23 22:57:37 +03:00
OmarHatem
0a76686c96 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-78-Ethereum
 Conflicts:
	lib/di.dart
	lib/store/settings_store.dart
2023-05-23 22:56:22 +03:00
Godwin Asuquo
1e868f876e
CW-352 add enable disable screenshot feature to i os (#931)
* Disable ios screen recording

* Minor Enhancements

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2023-05-17 18:34:41 +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
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
OmarHatem
17ec1667ae Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-78-Ethereum
 Conflicts:
	lib/di.dart
	lib/src/screens/dashboard/widgets/menu_widget.dart
	lib/src/screens/new_wallet/new_wallet_type_page.dart
	lib/src/screens/wallet_list/wallet_list_page.dart
	lib/view_model/wallet_address_list/wallet_address_list_view_model.dart
	lib/view_model/wallet_keys_view_model.dart
	lib/view_model/wallet_new_vm.dart
	lib/view_model/wallet_restore_view_model.dart
2023-04-28 05:33:19 +03: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
4a203a43c8
CW-331-Add-option-to-disable-market-place-in-display-settings (#872)
* CW-331-Add-option-to-disable-market-place-in-display-settings [skip ci]

* CW-331-Add-option-to-disable-market-place-in-display-settings [skip ci]
2023-04-16 15:45:35 +02:00
Omar Hatem
c5477e4f9e
Dashboard desktop view (#737)
* Add build scripts for macOS. Add macos for cw_monero plugin. Add macos proj to the application.

* - Update Flutter secure storage to work with macos
- Enable uni links only on Mobile
- Update devcelocale to work with macos

* Add network access to mac

* Change Dashboard view on desktop size screens

* Add on Tap to desktop_action_button.dart
Remove unused functions

* Fix arch match for monero lib for darwin x86_64 -> x86-64

* Add Bundle ID in entitlements files through app config script

* Update deployment target to 10.13

* Revert back to Cake fork for secure storage

* Revert back to Cake fork for secure storage

* Revert mac os version

* Revert mac os version

* Add platform channel specific code for mac os

* Add desktop sidebar

* [skip ci] Add desktop sidebar

* [skip ci] Add desktop sidebar

* - Remove legacy migration from macos
- Remove wake lock native code and just use the ready made package

* Remove wake lock native code and just use the ready made package

* Remove unstoppable domain from macos since it's not supported

* Temporarily fetch unstoppable domains only on mobile

* refactor desktop settings sidebar

* Ignore increasing brightness for non-mobile platforms

* Add Wallet selection dropdown to dashboard desktop view

* Generate MacOS icons

* localize settings

* fix dashboard sidebar and responsive utils

* Change Mac os app name and bundle id

* Fix exchange page as fullScreenDialog

* Remove constants

* - Refactor onRamper to have a single point of modification
- Enlarge initial app size
- update Flutter and Packages

* Add pubspec.lock and Podfile.lock to gitignore

* Remove Podfile.lock from cache

* Fix bug on sidebar reset

* Fix issues from code review

* [skip ci] reformat desktop dashboard

* [skip ci] reformat desktop dashboard

* Revert removing .lock files

* Revert changes in .gitignore

* [skip ci] remove .project changes

* [skip ci] remove .project changes

* Separate Dashboard desktop view from mobile view

* constraint images and pincoded box

* Remove drawer from mac os

* - Listen to keyboard events in PIN screen
- Fix PIN buttons style

* Fix desktop nav bar UI

* Add Marketplace to dashboard view

* Update trailing icon to open transaction page

* Update widget contraints

* Add empty trailing to center page title on desktop

* Refresh desktop dashboard actions on wallet change

* Change ionia welcome page animation

* Fix Constrained width screens UI

* Refactor sidebar state management

* remove empty line

* Add max width constrain to Welcome page

* Change Exchange page UI depending on platform

* - Change design/paddings for Send page on desktop view
- Make AddTemplateButton instead of having it duplicated in send/exchange

* Fix Desktop dashboard actions background color

* Constrain primary Buttons width

* Make side menu items toggle back to dashboard

* Add padding to support page

* Add width constraints to desktop dashboard

* Fix UI issues, paddings and alignments

* Rename misleading variable
Change initial mac window size

* Fix wallet create in settings

* remove unnecessary code

* remove unnecessary code

* Remove duplicated constrains

* - Use close icon on main screens
- Minor UI fixes

* fix pageview controller reset index

* Add create and restore wallet options to dropdown menu

* Fix desktop background color and address book view issues

* Fix input field

* Add onFieldSubmitted to allow "enter" button interaction

* Fix issue from code review

* Fix Popup width constraint and add focus orders

* Fix variable name

* Fix issues from code review

* refactor dropdown items

* Fix alignment in create and restore wallet screens

* Fix dropdown change state bug

Hide scanner for desktop

* remove space

* override navbar with desktopnavbar

* Remove autofocus

* remove unused code

* Fix ionia input field alignment

* Replace removed code

* Add app lock feature on mac

* Add assertion to avoid null

* Add Nano currency image

* Enable adding contact from send screen

* Fix UI issues
Add missing translation

* pop only PIN screen after successful auth

* Add back wallet settings page to desktop settings actions

* Fix Navigation animation for settings screens

* Fixate MobX version to fix restore issue

* CW-324 Refresh current settings page if wallet changed (#811)

* Fix refresh current settings page if wallet changed

* Fix refresh current settings page if wallet changed

* Refresh Wallet Seeds/Keys List upon wallet change

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>

* Remove navigation workaround for duplicate key, and fix the issue by handling creation/disposing of global key (#840)

* Cw 323 add wallet list to settings on mac (#843)

* Remove navigation workaround for duplicate key, and fix the issue by handling creation/disposing of global key

* - Register Wallet List as singleton in Desktop to be modify the same instance from settings and dropdown
- General Fixes and Enhancements

* Fix Changing/Restoring wallet from settings

* Fix Create wallet not showing seeds screens if launched from settings

* Add max width constraint for Alerts

* - Add Desktop API keys
- Fix Change back up password issue
- Fix Popup width

* Sync Mac with latest main updates

* Swap Transactions icon with lock icon

* Save backup file locally on desktop

* Sync with latest main updates

* Fix Navigation issues with anonpay

* Update macos build version

* Remove deprecated custom wake lock code for Android

* Remove Legacy CryptoSwift package from MacOS

* - Refactor Payfura page code
- Add OnRamper new configs to onramper_buy_provider.dart
- Fix Conflicts with main

* Updated device locale package

* Update android tools

* Revert changes and update only gradle version

* Downgrade android tools version

* Update gradle version

* Update package/gradle/plugin version

* - Fixate device locale version
- Downgrade gradle version

* Update kotlin version

* Update gradle version

* Trial for a custom fork from devicelocale

* Fixate shared preferences package version

* Revert gradle version

* Revert kotlin version

* Downgrade gradle version

* Downgrade gradle version

* Repair cache and clean before build

* Fixate flutter version

* update google services version

* revert google services version

* Force shared pref android version

* Override shared prefs android package version

* Override shared prefs android package [skip ci]

---------

Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Godwin Asuquo <godilite@gmail.com>
Co-authored-by: Godwin Asuquo <41484542+godilite@users.noreply.github.com>
2023-04-14 06:39:08 +02:00
OmarHatem
4ece7cd423 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-78-Ethereum
 Conflicts:
	lib/entities/default_settings_migration.dart
2023-03-08 12:04:38 +02:00
Godwin Asuquo
b0175719b9 Fix issues from code review 2023-03-01 23:44:15 +02:00
Godwin Asuquo
032a8c8c33 Add trocador exchange provider 2023-02-06 21:20:43 +02:00
OmarHatem
a96f91fbee Add Initial Transaction priorities for eth
Add estimated gas price
2023-01-11 04:57:59 +02:00
OmarHatem
3dd6351ae2 Complete Ethereum wallet creation flow 2023-01-04 16:51:23 +02:00
Godwin Asuquo
f15bc28219 [skip ci] fix issues from code review 2022-12-13 16:19:31 +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
87e72eabdf Fix conflicts with main [skip ci] 2022-12-09 20:36:51 +02: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
OmarHatem
4140742bb9 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 15:59:25 +02:00
OmarHatem
3c1f619395 Update Settings Store attributes within reload function to get latest shared prefs data 2022-12-09 15:57:45 +02:00
OmarHatem
1ef8ef269c Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-118-Allow-disabling-of-fiat 2022-12-08 21:17:59 +02:00
OmarHatem
4b1e9a10eb - Rename calculateAmount to fetchRate to be more descriptive
- Add Disable Exchange change reaction to save in shared prefs [skip ci]
2022-12-08 21:14:42 +02:00
OmarHatem
ce19be56a0 - Fix haven and litecoin fee transaction priority issue
- Revert removing fiat rate update and use it to update fiat rate periodically if Fiat API is not disabled
2022-12-08 17:23:17 +02:00
OmarHatem
55b37164dc - Make getters to ease attribute access
- Add the old 'disable_fiat' translation
- rename getters to be more bool like names
2022-12-07 22:07:32 +02: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
7da2de60cb Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-225-pin-timeout 2022-11-28 18:27:21 +02:00
Godwin Asuquo
818a8afe20 [CW-225] Add pin timeout setting 2022-11-22 22:52:28 +02:00