Commit graph

112 commits

Author SHA1 Message Date
Omar Hatem
ce4d375abf
Generic fixes and enhancements (#1083)
* Add exception handler to fiat APIs
Increase send card size for coin control
Fix Monero.com unspent coins hive box issue
minor bug fix

* Remove EIP-1559 parameters from Eth transaction
Enhance error reporting

* Throw error if not enough monero utx outputs are selected

* Fix Search text color

* Fix Ethereum sending EIP-1559 transactions

* Add transaction data to ERC20 transactions

* Add input check in single output transactions as well

* Fix Node deletion issue
Handle user input error in anonpay

* Remove exception handler from fiat conversion since it's not working with isolates

* Require enough utxo for amount and fees; More insightful Error messages

* Add cakewallet to applinks [skip ci]

* Add cakewallet app link for iOS [skip ci]

* Add applink depending on app scheme variable

* Add applink in iOS custom to the app getting built [skip ci]

* Handle normal app links without considering them as Payment URIs

* Minor fix [skip ci]

* Fixate encrypt package version as the recent update they made has some issues [skip ci]

---------

Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
2023-09-14 22:14:16 +03:00
Omar Hatem
68a821cc0e
Fiat api fix (#1070)
* Cw 474 linux swapping wallets btc then xmr still shows btc receive qr code (#1068)

* feat: improve address page txt field

* fix: switching wallets from the desktop dropdown updates dashboard pages

* Revert "feat: improve address page txt field"

This reverts commit 0a30e6d9e1.

* refactor: rename to WalletChangeListener

* fix: _init also behaves on wallet change

* Fix Fiat conversion API parsing
Cherry pick fix for Desktop switching wallets not updating dashboard screens

* Minor indentations fix [skip ci]

---------

Co-authored-by: Rafael Saes <76502841+saltrafael@users.noreply.github.com>
2023-09-01 18:06:18 +03:00
Omar Hatem
8185b88b4a
Enable Eth/Erc20 auto send in exchange (#1024)
* Generate missing secrets file for ethereum

* Enable Sending ERC-20 and Ethereum automatically from an Exchange
2023-08-08 04:02:09 +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
Godwin Asuquo
bf0c2c8f35
Add all deposit for litcoin (#932) 2023-07-11 03:52:40 +03:00
Serhii
9afed201c6
CW-424-ChangeNOW-add-payload-details (#979)
* add payload details

* remove unused import

* fix payload
2023-07-08 05:30:05 +03:00
Godwin Asuquo
a4c279b538
CW-411 Update sideshift api (#959)
* Update sideshift api

* Fix sideShift api v2 rate

* Fix rate calculation on sideshift

* Additional fixes

* Minor: Add additional unsupported
* Add network to quote
* Add amount and affiliateID to quote
* Refactor tag/network assigning

* Fix syntax errors with rate qpi

* Add network for fetching rate

* Remove amount from rate endpoint

* Fix transaction depositAmount

* Fix issues from code review

* Fix issues from code review

* Remove affiliate ID

---------

Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
2023-06-09 14:46:00 +03:00
Omar Hatem
1a3d47748d
V4.6.4 bug fixes (#922)
* Fix Concurrent modification exception

* Fix minor UI issues

* Change onramper crypto asset name for Litcoin

* Fix secure storage issue, fetching password/PIN with null

* - Fix Navigation issue while keyboard is displaying
- Remove deprecated screen

* Take currency From/To info from our trade not the returned one

* Fix anon pay fields UI

* Fix Anonpay border/icons UI

* Add extra padding in QR image as a safe layer

* Generalize ignored connection error

* Remove Bio Auth option from desktop

* Fix some Transaction info not parsed correctly
2023-05-10 16:58:31 +03:00
Serhii
f47f690803
fix getting correct currency from template (#898) 2023-05-03 10:01:51 +03: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
Rafael Saes
77ab6b49f4
feat: Add Click to Copy for the Exchange Amount in the invoice (#882)
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2023-04-16 15:27:33 +02:00
Serhii
f579f67c15 [skip ci] minor fix 2023-03-31 15:42:48 +03:00
Serhii
3e43e899a5 truncate exchange amount 2023-03-31 12:45:54 +03:00
Omar Hatem
3128d458f8
Merge pull request #765 from cake-tech/CW-282-add-trocador-exchange
CW-282 add trocador exchange
2023-03-02 21:42:30 +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
Godwin Asuquo
dbfbadffda Filter to use Tor only exchange 2023-03-01 15:50:31 +02:00
OmarHatem
e67b484613 - Fix RangeError due to changes in _tradeAvailableProviders while the Futures complete
- Silently catch "Concurrent modification during iteration"
2023-02-07 23:48:10 +02:00
Godwin Asuquo
032a8c8c33 Add trocador exchange provider 2023-02-06 21:20:43 +02:00
Serhii
cce56a61a3 minor fixes 2023-01-26 13:33:33 +02:00
Serhii
4636aacae7 formatting 2023-01-16 17:31:31 +02:00
Serhii
b4249f21a9 add payout address item to confirmation screen 2023-01-16 17:27:49 +02:00
Serhii
7f37bd3d59 update localization files 2023-01-14 23:29:47 +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
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
0da48f66fe Delegate returning rate to each provider to handle its logic internally 2022-12-07 21:09:15 +02:00
OmarHatem
8ff8cf38b8 Check if the provider supportsFixedRate only if fixed rate is applied [skip ci] 2022-12-07 18:15:30 +02:00
OmarHatem
f14c01303f - Add whether this provide supports fixed rate or not
- Fix Change now fixed rate exchange due to wrong rate id
2022-12-06 19:23:46 +02:00
Serhii
214c1fe0db Merge branch 'main' into CW-118-Allow-disabling-of-fiat 2022-12-06 17:37:12 +02:00
OmarHatem
36c2702688 - Recalculate best rate if isFixedRate changed
- check limits against the receive amount if isFixedRate
2022-12-06 13:30:11 +02:00
Omar Hatem
707df3717d
Merge pull request #662 from cake-tech/CW-259-fix-change-now-trade
[CW-259] Fix Change now trade issue
2022-12-03 23:49:45 +02:00
OmarHatem
116e468581 calculate best rate based on deposit/receive amount 2022-12-02 23:20:06 +02:00
OmarHatem
3bcd31ac44 calculate best rate based on min/max amount 2022-12-02 20:38:16 +02:00
OmarHatem
091ac41ee2 allow null minimum amount in limits 2022-12-01 22:37:13 +02:00
OmarHatem
dd99508d3e Fix static amount value for determining best rate and replace it with the input the user types 2022-12-01 22:11:51 +02:00
Godwin Asuquo
3acbfbae79 Fix issues from code review 2022-11-25 22:51:07 +02:00
Serhii
50d32021f6 Merge branch 'main' into CW-118-Allow-disabling-of-fiat 2022-11-22 19:48:43 +02:00
Serhii
92328c4102 move logic to viewmodels 2022-11-22 19:33:24 +02:00
Omar Hatem
bcf09b048c
Cw 220 fix grey exchange screen (#641)
* Fix nullability issue for ChangeNow rateId

* Handle concurrent modification error from Splay Tree
2022-11-21 20:52:03 -05:00
mkyq
3ec414ae66
Add adapters for some of bitcoin, litecoin and monero transactions priorities. Replace direct calls of transaction priorities for exchange_view_model. (#593) 2022-11-03 19:13:13 -04:00
Serhii
a52f47220e
show warning if exchanging with slow fee (#579)
* show warning if exchanging with slow fee

* Update setDefaultTransactionPriority for return type void; update for use MoneroTransactionPriority.automatic instead of MoneroTransactionPriority.regular.

Co-authored-by: M <m@cakewallet.com>
2022-11-03 15:21:35 -04:00
Omar Hatem
7e7217008c
Cw 171 exchange auto selector bug (#523)
* Fix de-selecting exchange providers not getting saved

* only change field value when the amount is better than the already existing one

* Show calculated amount after getting the best value from all providers

* Catch exceptions to avoid stopping the providers calculate amount APIs

* Fix Splay map only saving the last value obtained

* Show limits for the provider with the highest rate

* Load limits on currency pair change

* Show limits for lowest min provider

* Show limits for lowest min and highest max

* Sync best rate every 10 seconds instead of calculating it on every amount change

* Fix conflicts with flutter upgrade
Add null safety to changes in exchange_view_model.dart

* Remove un-necessary checks
2022-10-20 13:47:36 -04:00
M
1beb18b045 Flutter upgrade 2022-10-12 13:09:57 -04:00
Serhii
f59c2fbd2b
add new coins to exchange (#499)
* add new coins

APE, AVAXC, BTT, BTTBSC, DOGE, FIRO, USDTTRC20, HBAR, SC, SOL, USDC, USDCSOL, ZEN, XVG

* remove UST icon

* remove xhv from excludeDepositCurrencies

* remove xhv from excludeReceiveCurrencies
2022-09-07 13:10:21 +01:00
Omar Hatem
244d20d1b6
Skip unsupported providers when calculating best rate provider (#500) 2022-09-07 12:43:03 +01:00
mkyq
04be884357
Enable exchange for haven wallets. (#495) 2022-09-01 19:46:14 +01:00
Omar Hatem
c50eeee58b
CW 68 exchange automatic rate selector (#472)
* Add 'Exchange provider picker'
Save user selections

* Save user's exchange providers selection

* Add text for selected providers availability

* Fix selected providers not updating

* Load limits based on highest maximum in the selected providers

* Change received and deposit amount to be the best value from the selected providers

* Add provider name next to Trade ID
Set selected provider based on amount calculated

* Grey out providers who doesn't support selected currency pair

* Fix disabled providers

* Add Provider logo in Confirm Screen

* Only choose a provider if it satisfies its limits

* Fix amount validation

* Fix typo in error message

* Add a queue of possible exchange providers sorted by the best rate to try next if one failed

* Fix string locale typo

* Add Localization for other languages

* Add Placeholder text when there are no providers selected

* Check Exchange provider availability before creating a trade

* Fix "Fixed Rate" changing unconditionally

* Enable "convert to" field regardless of the provider

* Remove "Choose one" from providers picker

* Merge Master

* Fix Conflicts with master

* Add missing isEnabled field in simple swap provider
2022-09-01 15:12:38 +01:00
Godwin Asuquo
d9905a7cf3
Cw 110 integrate simple swap exchange (#459)
* add support for SimpleSwap exchange

* fix edit receive amount field

* fixed merge conflicts

* Fix issues from code review
2022-08-31 16:34:07 +01:00