* 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>
* 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
* 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
* 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>
* 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
* 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