Commit graph

86 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
Procyon Lotor
9eb6867ab9
Exolix integration (#1080)
* Add Exolix exchange integration

* update tx payload

* remove import

* Improve mapping

* Additional fixes

* fix apiBaseUrl

* Update trade_details_view_model.dart

* Update exolix_exchange_provider.dart

* Fix status URL

* Fix fetch rates API error handling update limits API to use a valid amount and validate on success status code

---------

Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2023-09-28 19:20:08 +03:00
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
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
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
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
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
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
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
Godwin Asuquo
6378d052ac
Cw 72 implement sideshift exchange (#332)
* add sideshift exchange provider

* add secret key

* Fix issues

* Fix issues

* refactor code

* add permission checks to side shift

* fix formatting issues
2022-04-13 14:28:21 +01:00
M
718ef91749 Exclude xhv from exchange currencies list 2022-04-01 14:31:05 +01:00
mkyq
01150ef2a7
Hv (#295)
* hv
* Change build version
2022-03-30 17:57:04 +02:00
M
989ef442ac Fixes for litecoin transactions. Change fixed rate mode for exchange. 2022-01-27 11:20:51 +02:00
M
02de3104eb Fixed rate for changenow. 2022-01-26 17:44:15 +02:00
M
e6b1da376d Configure wallet types for the app 2021-12-24 14:41:34 +02:00
OleksandrSobol
1d996c94c8 CAKE-343 | added address book button to xmr wallet's address text field on exchange_page.dart and exchange_template_page.dart 2021-07-23 14:05:33 +03:00
OleksandrSobol
0d367c4b45 CAKE-343 | added bitcoin_wallet_addresses.dart and litecoin_wallet_addresses.dart tj the app; moved addresses from wallets to wallet addresses classes; deleted wallet addresses credentials 2021-07-13 08:46:34 +03:00
M
2b4248e30b Merged main into ltc. 2021-05-10 19:51:13 +03:00