* feat: Check if address is a valid Externally Owned Address
* feat: Check if the EVM address received when exchanging tokens is a valid EOA address
* move the contract address check to be only in the case of ThorChain [skip ci]
* some enhancements
* feat: Implement check for contract address for inputAddress when exchanging to ETH
* fix: Remove previous implementation and clean up current implementation for the check for contract address
* chore: Remove unneed space
* chore: Remove unneed space
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* bio auth mac fix
* remove comment and change duration from 2 to 0
* cherry pick previous changes
* fix empty string case
* add support for path for all currency types
* disable paths on electrum and monero nodes
* undo mac auth changes
* stuff I missed
* 1 last thing
* another thing I missed
* version bump to 3.13.9, auth working on mac
* bump flutter version in workflow file
* workflow fix
* test fix
* downgrade flutter version
* test fix
* test fix
* update gradle version
* fixes for updated dart version, localization file updates
* remove accidental inclusion
* missed some unimplemented throws
* Fix exchanges not showing
* Fix button text on Monero receive screen
* Temp fix for ERC20 and SPL tokens not having raw value
* Manually Add Trocador new providers temporarily until API integration
* properly handle nullability of n2 node [skip ci]
---------
Co-authored-by: tuxsudo <tuxsudo@tux.pizza>
* feat: Fetch and save icons of SPL tokens when adding them
* feat: Implement fetch and save icons for ERC20 tokens when adding them
* fix: Add moralisApiKey to evm secrets
* Add check to ensure decimals cannot be zero
* - Fallback to adding erc20 token from web3dart
- Wrap fetching spl token icon in a try/catch block
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* fix: address book addresses, bch builder, exchange all fee estimation, bch coin control
* feat: new error framework for Electrum messages
* build: cw_bitcoin.dart
* feat: error improvements, localization, fix exchange amount mismatch
* chore: misc comment & print [skip ci]
* feat: refactor & simplify sendAll vs regular tx estimation and creation
- Since there were so many conditions inside a single function to alter its behavior if sendAll or not, it is easier and more readable to have separate sendAll and estimateTx functions that behave separately
* fix: wrong LTC dust
* feat: fee rate confirmation
* fix: wrong createTrade value when isSendAll is enabled
* fix bitcoin cash address parsing [skip ci]
* fix: form no amount validator, address book with multiple entries, exchange all below min error
* fix: improve string, fix sending with dust inputs at the top
* fix: two change outputs when re-estimating
* fix: sendAll with a little dust adds fees
* chore: sanity check [skip ci]
* fix: if the fee is higher than estimated
* Minor enhancement [skip ci]
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* New price API
* Fix test app package id
* Fix workflow
* change environment variable to use pr number [skip ci]
* Fix un-needed padding
* Fix raw value for usdtSol
* Remove duplicate fetching for balance and transactions at start [skip ci]
* Fix address validation of spl tokens
* Add Service Status
* Update lib/src/widgets/service_status_tile.dart
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* Update lib/src/widgets/services_updates_widget.dart
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* Update monero version
* update sodium script
* Change automatic priority fee rate
---------
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* New versions
Fix issues with Monero.com
* Add sending for Solana tokens exchanges
* Add default keyword for P2WPKH [skip ci]
* chore: Switch solana commitment to confirmed to reduced blockhash expiration (#1313)
* Modify test workflow to send arm64-v8a build only
* Fix workflow build path
* Remove unnecessary reverse of txId
* Show case sensitive evm wallet address
* Revert default Cake Theme
add custom package id for test builds
* Fix workflow script
* Fix workflow
* hash branch name
* hash branch name
* Update versions
* Add user image to Nostr
Add fetching address from text for tokens
* Fix test app package id
* fix: Solana message improvement (#1316)
---------
Co-authored-by: Adegoke David <64401859+Blazebrain@users.noreply.github.com>
* inital migration changes
* feat: rest of changes
* minor fix [skip ci]
* fix: P2wshAddress & wallet address index
* fix: address review comments
* fix: address type restore
* feat: add testnet
* Fix review comments
Remove bitcoin_base from cw_core
* Fix address not matching selected type on start
* remove un-necessary parameter [skip ci]
* Remove bitcoin specific code from main lib
Fix possible runtime exception from list wrong access
* Minor fix
* fix: fixes for Testnet
* fix: bitcoin receive option dependency breaks monerocom
* Fix issues when building Monero.com
* feat: Transaction Builder changes
* fix: discover addresses, testnet restoring, duplicate unspent coins, and taproot address vs schnorr sig tweak
* fix: remove print
* feat: improve error when failed broadcast response
* feat: create fish shell env script
* fix: unmodifiable maps
* fix: build
* fix: build
* fix: computed observable side effect bug
* feat: add nix script for android build_all
* fix: wrong keypairs used for signing
* fix: wrong addresses when using fromScriptPubKey scripts
* fix(actual commit): testnet tx expanded + wrong addresses when using fromScriptPubKey scripts (update bitcoin_base deps)
* fix: self-send [skip ci]
* fix: p2wsh
* fix: testnet fees
* New versions
* Update macos build number
Minor UI fix
* fix: use new bitcoin_base ref, fix tx list wrong hex value & refactor hidden vs hd use
- if always use sideHd for isHidden, it is easier to simplify the functions instead of passing both which can be error prone
- (ps: now this could probably be changed, for example from isHidden to isChange since with address list we now see "hidden" addresses)
* Fix if condition to handle litecoin case
* fix: self-send, change address was always making direction incoming
* refactor: improve estimation function, add more inputs if balance missing
* fix: new bitcoin_base update, fixes script issues
* Update evm chain wallet service arguments
* Fix translation [skip ci]
* Fix translation [skip ci]
* Update strings_fr.arb [skip ci]
* fix: async isChange function not being awaited, refactor to reduce looping into a single place
* fix: _address vs address, missing p2sh
* fix: minor mistake in storing p2sh page type [skip ci]
* refactor: use already matched addresses property
* feat: improved perfomance for fetching transaction histories
* feat: continue perfomance change, improve address discovery only to last address by type with history
* fix: make sure transaction list is sorted by date
* refactor: isTestnet only for bitcoin
* fix: walletInfo type null case
* fix: deprecated p2pk
* refactor: make condition more readable
* refactor: remove unnecessary Str variant
* refactor: make condition more readable
* fix: infinite loop possible
* Revert removing isTestnet from other wallets [skip ci]
* refactor: rename addresses when matched by receive type
* Make the beta build [skip ci]
Remove app_env.fish
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* feat: Disable battery optimization on android
* fix: Add permission to androidmanifestbase file
* Increase the frequency of app running in background on aggressive mode
* Revert the sync mode frequency [skip ci]
* Fix translation
* increase frequency to 1 hour
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* 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>
* New versions
* Minor fix [skip ci]
* Minor UI enhancement for balance card
* Minor UI enhancement
* Add Monero build configs for MacOS [skip ci]
* Add rest of Macos Configs [skip ci]
* Delete empty file
Save and report restore from backup exceptions [skip ci]
* Minor fixes
* Remove error message if buy action is disabled
* Fix wallet list selected wallet issue
* Check if the widget is still mounted before showing popup
* minor code readability enhancement [skip ci]
* Code enhancement [skip ci]
* Revert removing ask each time localization
* Add Moonpay to sell flow
Code Enhancements
* remove error popup when sell option is disabled
* update app versions and release notes
* update build number
* Fix balance page tabs UI on white screens [skip ci]
* Vulnerable btc seeds (#1238)
* Add flow to notify users with vulnerable seeds
* - Show vulnerable wallets warning on every app launch
- Change text
* increment build number
* add seeds sha text [skip ci]
* 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"
* v4.11.0 and v1.8.0
* Add missing functionalities to mac os monero api.cpp
* Fix creating a new wallet issue
* Remove un-necessary linux, macos, and windows files from bitcoincash package
* be absolutely sure we delete secure storage keys before writing them
* sync with other PR
---------
Co-authored-by: fossephate <fosse@book.local>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* 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
* CW-498 Call updateTransactions on account change
* CW-498 Code Cleanup
* CW-498 Add Wallet Address to trade to match transactions to trades
* CW-498 Fix containsAddress to include only addresses of account
* Handle nullability for fromWalletAddress
---------
Co-authored-by: OmarHatem <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>
* 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>