* feat: WalletConnect deeplink WIP
* fix: Handle cases where a non ethereum address is in use when the trigger is made
* fix: edgecases fixes for walletconect
* fix: edgecases fixes for walletconect
* Update pubspec_base.yaml
* remove unused dependency
* remove unused dependency
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* disable bio auth for macos
* Disable for Linux as well
---------
Co-authored-by: fossephate <fosse@book.local>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix nano sending, update restore page wording, and other minor fixes
* fix bch address parsing
* minor code enhancement [skip ci]
* Register the main secure storage as the long lived instance of secure storage throughout the app session
---------
Co-authored-by: Serhii <borodenko.sv@gmail.com>
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* Fix Hive issue
* Disable RobinHood for Nano
* Validate context is still mounted [skip ci]
* Disable Exolix for new exchanges
Remove duplicate ethereum case
* add nano/banano to manifest/info.plist
* fix qr code issues for nano
* Add Nano-wallet to restore form qr
Add iOS keychain accessibility config
* support app links for ethereum and nano [skip ci]
* catch exceptions from gas price and estimated gas
* Add bitcoin cash to app links
Fix restore from QR for bitcoin cash
* Fixate bottom buttons for create/restore wallet in wallet list page
---------
Co-authored-by: fosse <matt.cfosse@gmail.com>
* New versions
* update the new version text after macos [skip ci]
* add cake-wallet headers
* add nano/banano to getAddressFromStringPattern
* Revert "Exolix integration (#1080)"
This reverts commit 9eb6867ab9.
* fix: Bug in conditions check and clean up of repeated code in switch cases (#1117)
* update build numbers [skip ci]
---------
Co-authored-by: fosse <matt.cfosse@gmail.com>
Co-authored-by: Adegoke David <64401859+Blazebrain@users.noreply.github.com>
* Send to Mastodon username addresses
* Update mastodon_user.dart
* Enhance Eth out of gas error condition
Remove some code warnings [skip ci]
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* 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>
* Improve ChangeNOW network mapping
Follows Trocador code to use the title instead of the const name, and to allow normalizing across the tag level instead of needing to map the `legacyTicker`
I will test
* Missing `}`
* Remove `:`
* Add normalizeTitle for zec
* Missing `;`
* Make functions private and fix zec for Trocador
* Add supported assets [skip ci]
* Change name [skip ci]
* Add restore from private key to Ethereum
Add restore from QR code for Ethereum in both seeds/keys
* Add node network issue to ignored errors [skip ci]
* 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