* feat: Create central package for EVM chains
* chore: Cleanup pubspec and add core evm dependencies
* feat: Replicated core evm chain files, time to start fixing the issues
* feat: Setup evm central package to handle all evm chains
* feat: Link up Polygon and Ethereum wallets to the centra evm package, fix bugs and issues, and optimze for better performance
* feat: Setup and adjust configs to reflect new evm configurations
* Remove unneeded file
* fix: Changes done while re-reviewing entire structure and refactor
* fix: Add evm chain wallet path to imports in configure file
* feat: Adjust implementation of parent class, remove unneeded files, remove windows, linux and mac directories, restructure the evm child classes
* fix: Make EVMChainWallet a central abstract class and adjust accordingly
* fix: Adjust transaction info, restructure EVMWalletChain to be an abstract, adjust external facing interfaces for polygon and ethereum, adjust configuration for ethereum and polygon in configure file
* fix: Testing issues
* fix: Add localization for nft tile and details page texts and add dashes for null responses
* fix: merge conflicts
* Minor fixes for building Monero.com
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* Fix word count for polyseed on pre_seed_page
* Fix naming of advanced setting
* Set default Seed Type to Polyseed and disable bg-sync by default
* Fix inconsistency between seed type field in restore screen and the one in advanced settings
* Use pub.dev release of polyseed
* Add Legacy Seed to wallet_keys-Page in case of Polyseed
* Add icons to Language- and Seedtype-picker to indicate it's clickability
* Add Seed Type Selector to New Wallet Page
* Rename "Advanced Privacy Settings" to "Advanced Settings"
* CW-462 Mark Places to integrate Polyseed
* CW-462 Add Restore from Polyseed
* CW-462 Add Restore from Polyseed
* CW-462 Add new Monero date-height pairs
* CW-462 Little Cleanup
* CW-462 Ups I missed that Debug line :/
* CW-462 Fix Polyseed not showing in Wallet-Seed/Keys Page
* CW-462 Prepare for Wallet creation
* CW-462 Fix merge conflict
* CW-462 Fix generating monero.dart
* CW-462 Add Polyseed generation
* CW-462 Add Polyseed Languages to SeedLanguagePicker
* CW-462 Apply requested changes
* CW-462 Minor bug fixes in restore screen
* Update wallet_restore_from_seed_form.dart
* CW-462 Minor Bugfix
* CW-462 Fix Restore from QR for Polyseeds
* CW-462 Fix null-check-operator exception for Polyseeds and minor inconveniences
* CW-462 Fix minor inconveniences
* Fix conflicts and review comments and wrap unspent issue with try and catch with reporting failure
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* update wallet restore page to be less confusing for nano users
* update translations
* only include private key if seed phrase is null
* restore fixes
* fix default derivation being wrong on restore
* fix default nano derivationType & qr code parameters
* update language on nano restore (hex form)
* support hex seed from qr restore
* initial draft for tor feature
* Configure nodes to use Tor proxy if enabled
* Add socks proxy upon connecting to tor
fix disconnect button
* Try tor with github actions
* accept defaults for rust installation
* Merge main
Change Tor tile name
* add preference keys for default nano/banano rep
* updates to change rep page, add success message
* forgot to save this file
* nano_client cleanup
* first pass
* refactor to use sharedprefs in nano_client
* review fixes
* 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>
* 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>
* 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: 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>
* 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>
* feat(strings): create new script to auto translate all files
* - Fix path issue in append_translation.sh
- Document flow for using it
- Reformat localization files
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* 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
* 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