* initial button refactor and gradient background
* CW-397 Use a separate Hive instance to avoid Issues with plugins using Hive
* CW-397 Add Support Page Strings
* CW-397 Add new Support Page
* CW-397 Add Support Live Chat Page
* CW-397 Add Hive Type Ids Doc
* CW-397 Use Newer Chatwoot SDK Version and add new Images
* CW-397 Update pubspec_base.yaml
* CW-397 Add own Chatwoot Widget
* Lowercase `s` skip-ci
* CW-397 Fix WebMessageListener
* CW-397 Fix Merge conflicts
* CW-397 Add Erc20 Hive Type ID
* CW-397 Fix Ethereum Hive Error
* CW-397 Revert to Restore Button
* CW-397 Only use In App chat on mobile
* CW-397 Move Chatwoot Website Token to secrets
* CW-397 Add Chatwoot Website Token to workflow
* CW-397 Move Chatwoot fetchUrl to Support View Model
---------
Co-authored-by: Rafael Saes <git@saes.io>
Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
* 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]
* 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>
* 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>
* feat: Introduce QR Scanning to add new node
* fix: Exception handing for scan qr and invalid qr value
* fix: Exception handing for scan qr and invalid qr value
* feat: Support Send templates with multiple recipients
* feat: use only first name for template display, and sum total amount
* fix: amounts being wiped
* feat: make send template card buttons function like send card
* feat: replace amount -> name for template name
* fix: template name
* feat: Replace trash and swipe with edit icons on node list item
- replaces yellow Test button with red Delete node button with confirmation on the edit node page
* feat: make node indicator icons bigger (figma comment)
* feat: Replace trash and swipe with edit icons on wallet list page and create wallet_edit_page.dart
* fix: make delete buttons red
* fix: make wallet name wrap when it is too long
* refactor: improve logic & fix observer not refreshing
* fix: add string
* feat: remove the confirmation pop-up for switching between wallets
- which was another item on the jira issue
* fix: remove slideable widgets from node list
* feat: add edit button to currently selected node & disable deleting if selected
* fix: rename wallet also renames to new wallet files
* feat: make sure edits can't overlap existing names
* fix: improve rename flow, fix electrum transactions refresh & add delete old logic
* fix: also fix rename for monero & haven
* refactor: fix identations
* refactor: dont declare the current wallet twice
* refactor: missing newWalletInfo.id
* fix: dont unnecessarily load the current wallet
* fix: remove unnecessary reaction
* feat: make save button disabled until the text is changed
* feat: make walletEditViewModel and make state useful for pending actions
* fix: add back reaction for desktop flow
* - Remove un-necessary code
- Format Edit page
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* fix: make welcome screen scrollable
* fix: make pre seed page scrollable
* fix: make wallet seed page scrollable
* refactor: remove unnecessary and stacked widgets and remove IntrinsicHeight & LayoutBuilder used for SingleChildScrollView, and replace it for CustomScrollView on welcome_page.dart
* refactor: remove unnecessary Flexible widgets and remove IntrinsicHeight & LayoutBuilder for SingleChildScrollView and replace it for CustomScrollView on pre_seed_page.dart
* refactor: remove unnecessary and stacked widgets and remove IntrinsicHeight & LayoutBuilder used for SingleChildScrollView, and replace it for CustomScrollView on wallet_seed_page.dart
* fix: revert welcome_page.dart unwanted changes
* fix: image expands more than needed
* fix: fix image expands more than needed while testing on Linux build
* Fix Scrolling behavior on Desktop and Overflow on Mobile
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* feat(Talkback): make add contact button labeled
* feat(Talkback): add labeled semantics to cakepay buttons
- Use BasePage's default labeled back button instead of override
- Add filter button semantics
- Add ExcludeSemantics to search icon because it was messing with the whole search input box semantics and making it sound like an unlabeled button
- Add profile button label
* feat(Talkback): add labeled semantics to send page buttons
- Add semantics label to Paste button
- Add semantics label to Scan button
- Add semantics label to Address Book button
* fix: use i18n strings instead of hardcoded semantics labels and add missing 'profile' string
* fix: also add localization to back button on base page
* fix(Talkback): add the rest of localized strings & add missing close string
* fix: pt strings
* feat: add correct strings using translate script
* Update strings_yo.arb [skip ci]
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* refactor: Improve Monero/Haven account selection picker
* feat: If the amount would be wrapped, instead display it under the account name
* fix: balance str
* refactor: add theme changes
* refactor: remove duplicate observer
* - Replace payfura widget with direct browser link
- Remove Payfura widget class as it is duplicate for the web view page
* Revert removing swipe to delete wallet feature
* Pump app versions and update release notes
* feat: replace "swipe to delete" wallet action with a delete / trash icon on the right
* fix: remove InkWell and _actionPane actions
* feat: add a bit of padding from the end
* feat: allow reversing displayMode by long pressing on transactions page
* feat: allow reversing displayMode by long pressing on send page
* revert: revert transaction_list_item.dart but keep BalanceDisplayMode get displayMode => balanceViewModel.displayMode
* Fix null error on back navigation after pushReplacementNamed
* Fix null error on back navigation after pushReplacementNamed
* Close all visible keyboard for page navigation context
* Fix issue with market place navigation
* Remove focus before back navigation
* Fix background color
* Fix background color
* Fix background color
* 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>
* refactor(Theme): migrate accentColor
- based on the specs at https://docs.flutter.dev/release/breaking-changes/theme-data-accent-properties#migration-guide.
* refactor(Theme): all deprecated TextTheme styles
* refactor(Theme): deprecated backgroundColor for colorScheme.background
* refactor(Theme): deprecated buttonColor to use TextTheme backgroundColor instead
* refactor(Theme): deprecated isAlwaysShown to use thumbVisibility instead
* cancel Anonpay updateInvoice timer
* Remove un-needed dependency injection of anonpayDetailsViewModel since it can be accessed via the parent class [skip ci]
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* Add hausa language
* Add hausa language
* Add cupertino delegete
* Add flag to git
* - Fix hausa_intl.dart issue
- Fix menu items not updating properly
- Fix Nav bar issue
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* feat: Proper Bitcoin address validation in exchange screen
* fix: use custom validation in addition to RegEx to make sure all address cases are validated
- for cases like P2SH addresses starting with a 3, which are not validated by bitcoin_flutter functions
* feat: add bitcoin_flutter to root project
* refactor: improve conditional isValid return chain
* feat: enhance contact page address validation
- only shows address box when a currency is selected, to prevent the selected value from being null
- changes TextValidator() for the new AddressValidator()
* fix: use -1 for initial selectedAtIndex, since there is no currency yet selected
* feat: Proper Bitcoin address validation in exchange screen
* fix: use custom validation in addition to RegEx to make sure all address cases are validated
- for cases like P2SH addresses starting with a 3, which are not validated by bitcoin_flutter functions
* feat: add bitcoin_flutter to root project
* refactor: improve conditional isValid return chain
* 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
* 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
* feat: use common modal widget for repeated picker logic and display
* refactor: rename widget
* refactor: clear wrapper logic from picker widget and move title to hasTitle
* Minor code readability enhancements [skip ci]
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* add exception for range error
* add app links for wallets
* Update reference to qr.flutter clone
* QrImage update
* Update fullscreen_qr_page.dart
* Add automatic version for wallet QR
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* Show amount received for each account
* Enable litcoin send all
* disable litcoin send all
* Indent code
* Fix large font resolution for account title
* feat: Add missing title on wallet_list_page.dart
* feat: add bool lightTitleColor value when theme needs lighter color title, instead of hardcoding to Colors.white
- Light color theme taken from Share button from receive page
* fix: revert changes & use currentTheme.type to use proper theme style
* fix: use share button color logic also on overriden leading Widget on address_page
* refactor: remove unnecessary titleColor
* Check if context is still mounted or not before showing popup
* - Refactor Restore route flow
- Fix Monero.com restore from QR
- Remove deprecated restore classes
- Update Monero.com app version and notes
* Update Macos version and release notes
* Fixate android plugin versions as Flutter published new fail packages version
* Revert desktop changes as it's not supported yet to scan QR code on Desktop [skip ci]
* Revert macos version update [skip ci]
* 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
* fix(#536): add talkback support to missing main and common elements
* fix(#564): add talkback support for slidable node items & addresses page
* fix: add missing delete button from add pin widget
* Added a temporary workaround for empty receive addresses
* Fix Typo in PR template
* Make existing node private [skip ci]
* Fix transactions page background color [skip ci]
* Update ios version for internal test build [skip ci]
* update macos version for internal test build [skip ci]
* fix: Currency picker UI when keyboard is showing
* refactor: move picker logic into the common Picker widget
- CurrencyPicker uses the common Picker widget in grid mode
- SeedLanguagePicker uses the common Picker widget in grid mode
- Added logic for keyboard showing UI into Picker widget
- Added `softWrap: true` to the item text, so it doesn't overflow
* fix: remove subPickerItemsList
* fix: add final
* fix: move function out of initState()
* fix: keep build functions separate to remove boolean comparisons
* fix: remove onItemSelected from already selected item
* fix: change Expanded for Flexible widget
* 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>
* Add exception handler to anypay api response failure
* Check if context is still mounted before fetching iPad position
* Add user connection issue to ignored errors
* Wrap launchURL in empty try catch to avoid package un-needed exceptions
* Add user network connection issue to ignored errors
* Check current nodes on each app start
* Add user network connection error to ignored errors
* Fix sharing files issue on iOS
* wallet QR code on Wallet/Seed screen
* fix restore height for new wallet
* fix height parameter
* fix currenHeight and HeightByDate for haven
* update configure.dart
* fix coments
* minor fix
Adds:
AED, ARS, BDT, CLP, COP, EGP, GHS, GTQ, IRR, MAD, NGN, PKR, SAR, THB, TRY, UAH, VND
This may mess things up because of TRY, so I'll test the PR and make changes as needed
This way we don't need to translate and create different strings for the "on", which will appear odd in languages other than English. I also added it for FIO and OpenAlias.
Further, I removed the 1 instance of openalias_alert_title. It can be removed from the localization file if/when it's convenient.
I did NOT change anything for Unstoppable, because that appeared to touch a dependency. That has its own custom (but similar) text response
bttc mapped to trx, so changed the label instead of changing the mapping
maticpoly was mislabeled on changenow
maticpoly and matic were mislabeled on simpleswap
- Revert disabling UI error reporting as it will also disable some errors from the view models
- Fix warnings in node list row (potential nullability issue fix)