Commit graph

88 commits

Author SHA1 Message Date
Matthew Fosse
4c60b178be
CW-438 add nano (#1015)
* 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 [skip ci]

* - 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 [skip ci]

* 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 [skip ci]

* 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` [skip-ci]

* initial changes

* more base config stuff

* config changes

* successfully builds!

* save

* successfully add nano wallet

* save

* seed generation

* receive screen + node screen working

* tx history working and fiat fixes

* balance working

* derivation updates

* nano-unfinished

* sends working

* remove fees from send screen, send and receive transactions working

* fixes + auto receive incoming txs

* fix for scanning QR codes

* save

* update translations

* fixes

* more fixes

* more strings

* small fix

* fix github actions workflow

* potential fix

* potential fix

* ci/cd fix

* change rep working

* seed generation fixes

* fixes

* save

* change rep screen functional

* save

* banano changes

* fixes, start adding ui for PoW

* pow node changes

* update translations

* fix

* account changing barely working

* save

* disable account generation

* small fix

* save

* UI work

* save

* fixes after merge main

* fixes

* remove monero stuff, work on derivation ui

* lots of fixes + finish up seed derivation

* last minute fixes

* node related fixes

* more fixes

* small fix

* more fixes

* fixes

* pretty big refactor for pow, still some bugs

* finally works!

* get transactions after send

* fix

* merge conflict fixes

* save

* fix pow node showing up twice

* done

* initial changes

* small fix

* more merge fixes

* fixes

* more fixes

* fix

* save

* fix manage pow nodes setting appearing on other wallets

* fix contact bug

* fixes

* fiat fixes

* save

* save

* save

* save

* updates

* cleanup

* restore fix

* fixes

* remove deprecated alert

* fix

* small fix

* remove outdated warning

* electrum restore fixes

* fixes

* fixes

* fix

* derivation fixes

* nano fixes pt.1

* nano fixes pt.2

* bip39 fixes

* pownode refactor

* nodes pages fixes

* observer fix

* ssl fix

* remove old references

* remove unused imports

* code cleanup

* small fix

* small potential fix

* save

* undo all bitcoin related changes

* remove dead code

* review fixes

* more fixes

* fix

* fix

* review fix

* small fix

* nano derivation and nanoutil fixes

* exchange nano fix

* nano review fixes pt.1

* nano fixes pt.2

* nano fixes pt.3

* remove old imports + stop using dynamic in di

* nanoutil fixes

* add nano.dart to gitignore, configure fixes

* review fixes, getnanowalletservice removed

* fix settings screen, add changeRep to configure.dart, other minor fixes

* remove manage_pow_nodes_page, key derivation edge case handled

* remove old refs

* more small fixes

* Generic Enhancements/Minor fixes

* review fixes

* hopefully final fixes

* review fixes

* node connection fixes

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
Co-authored-by: fossephate <fosse@book.local>
2023-10-05 04:09:07 +03:00
Konstantin Ullrich
d972363417
Add additional Buy Provider (#1071)
* CW-466 Add Buy Options Page

* CW-466 Add Buy Options

* CW-466 Add Default Buy Provider to Other Settings

* CW-466 Onramper is working from Buy Options

* CW-466 Onramper is working from Buy Options

* CW-466 Translation improvements

* CW-466 Add Onramper & Robinhood Logos

* CW-466 Implement Robinhood Flow

* CW-466 Fix Robinhood Flow

* CW-466 Add RH-Secrets

* CW-466 Have RH Translation in English only

* Add missing URI details

* CW-466 Implement default Buy Provider

* CW-466 Fix Padding Buy Provider Options

* CW-466 Fix Bitcoin and Litecoin Signatures

* CW-466 Fix Error Message

* CW-466 Resolve requested changes

* Add exception handler to robinhood API calls

* CW-466 Fix Theming

---------

Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2023-09-14 22:14:49 +03: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
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
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
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
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
15237d5f79 Fix issues from code review 2023-03-02 17:13:25 +02:00
Godwin Asuquo
b0175719b9 Fix issues from code review 2023-03-01 23:44:15 +02:00
OmarHatem
ce4b1cd4ae Update fiat API version
Enable Tor support for Fiat
2023-02-28 18:23:21 +02:00
Godwin Asuquo
032a8c8c33 Add trocador exchange provider 2023-02-06 21:20:43 +02: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
Serhii
2becd32ab8 Merge branch 'CW-118-Allow-disabling-of-fiat' of https://github.com/cake-tech/cake_wallet into CW-118-Allow-disabling-of-fiat 2022-12-08 09:56:08 +02:00
Serhii
a1dd22232b [skip ci] fix fiat settings display 2022-12-08 09:56:04 +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
Serhii
37ca795756 [skip ci] change fiat api UI to swich mode 2022-12-07 15:31:33 +02:00
Serhii
f4148e0989 [skip ci] rework UI for disable fiat mode 2022-12-07 12:44:08 +02:00
Godwin Asuquo
c156691e09 [skip ci] undo formatting in di 2022-12-05 20:14:46 +01:00
OmarHatem
914fffe51c Initialize wallet directly from constructor argument [skip ci] 2022-12-01 21:33:17 +02:00
Godwin Asuquo
03748d680a [skip ci] format files 2022-12-01 21:21:51 +02:00
Godwin Asuquo
3acbfbae79 Fix issues from code review 2022-11-25 22:51:07 +02:00
Godwin Asuquo
63df8c6b6f Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-223-settings-reorganization 2022-11-23 22:54:24 +02:00
Godwin Asuquo
5462836b8d seperate settings view model 2022-11-23 19:06:41 +02:00
Godwin Asuquo
0fcd72f821 format indent code 2022-11-23 09:05:47 +02:00
Omar Hatem
9b32c9c956
CW-227 Add Disable Exchange option to settings (#642)
* Add Disable Exchange option to settings
2022-11-21 21:18:18 -05:00
Godwin Asuquo
c67e8c5037 [CW-233] Fix missing display balance setting 2022-11-18 20:53:35 +02:00
OmarHatem
a82803de3a Fix Casting issue 2022-11-18 20:32:52 +02:00
Godwin Asuquo
549975ecc1 Reorganize settings 2022-11-16 09:29:14 +02:00
Omar Hatem
71444219be
Cw 218 fix change pin using bio auth (#599)
* - push change pin page as a replacement for auth page to avoid closing it once its opened
- Add cool-down duration after popping flushbars and pushing new routes
2022-11-07 15:35:34 -05:00
mkyq
52aabee658
Remove direct calls of cw_bitcoin BitcoinTransactionPriority from SendViewModel and SettingsViewModel. Add bitcoinTransactionPriorityWithLabel to bitcoin facade. (#574) 2022-10-28 18:09:27 -04:00
Omar Hatem
e1885e44a2
Fix fee priority display (#540)
* Fix transaction priority displaying empty string

* Fix priority label with rate in send screen

* Make price nullable in transaction list items
2022-10-19 18:24:50 -04:00
M
1beb18b045 Flutter upgrade 2022-10-12 13:09:57 -04:00
Omar Hatem
8321c9fbbe
Enable different currencies (#401) 2022-07-01 12:04:00 +01:00
Omar Hatem
dc623f3293
Rework settings pickers (#398)
Updated pickers and settings screen
2022-06-29 13:38:44 +01:00
mkyq
01150ef2a7
Hv (#295)
* hv
* Change build version
2022-03-30 17:57:04 +02:00
Godwin Asuquo
d2cc812884
Cw 45 implement yat sending (#269)
* resolve YAT emoji

* remove animation in route builder

change YAT api

* remove yat sending page

* fix crypto address resolving

* check if text is emoji

* use getter for string extension hasOnlyEmojis

* refactor parsed domain from address

* update PR based on changes from code review

* import missing dependencies
2022-03-15 12:11:53 +03:00
M
c55144b0f0 Fixes for Litecoin transaction priorities 2022-01-12 18:13:16 +02:00
M
6f215f5451 Add throwing exception for yat api calls. Remove random address generation on address page. 2022-01-12 17:38:32 +02:00
M
226d546d55 Fixes for monero only app version. 2021-12-30 19:20:00 +02:00
M
e6b1da376d Configure wallet types for the app 2021-12-24 14:41:34 +02:00
M
fe3d00f1a8 Fixes for yat 2021-11-02 09:17:24 +00:00
OleksandrSobol
f353442a2a CAKE-360 | merged all yat branches into current; saving information about yat to connected wallet; fixed qr widget; applied yat, unstoppable domains and open alias to contact book 2021-10-01 18:13:10 +03:00
OleksandrSobol
8955a10ca8 CAKE-359 | fixed yat_record.dart for multiple addresses in yat; fixed ParsedAddress class; applied ParsedAddress in the parse_address_from_domain_alert.dart; added parsedAddress and renamed applyOpenaliasOrUnstoppableDomains() to fetchParsedAddress() in the output.dart; fixed send_page.dart, send_card.dart and exchange_page.dart; added choose_yat_address_alert.dart to the app; added current wallet address to request parameters in the yat_alert.dart 2021-09-20 17:56:27 +03:00
OleksandrSobol
cdddc12c81 CAKE-356 | added isYatDevMode parameter to the yat_alert.dart; deleted yat_webview_page.dart and yat_view_model.dart; applied localization of Yat to the app 2021-09-16 12:43:43 +03:00
OleksandrSobol
92aece5e31 CAKE-356 | added "Manage Yats" item to the settings page; reworked primary icon button; added yat address to qr widget; created yat_alert.dart, yat_webview_page.dart, yat_store.dart, yat_view_model.dart, yat_exception.dart, yat_record.dart 2021-08-20 16:26:00 +03:00
OleksandrSobol
5f02a7ddf5 CAKE-344 | fixed MoonPay icon color on support and dashboard pages 2021-07-06 18:13:29 +03:00