* chore: Create Base package template
* chore: Update configuration scripts and dependencies to include 'base' coin support
* chore: Update pubspec.yaml, adjust SDK constraints, and add new dependencies
* feat: Add support for base wallet type and cryptocurrency in related configurations
* feat: Implement BaseWallet and DefaultBaseTokens classes for managing base cryptocurrency transactions
* feat: Add BaseTransactionHistory and BaseTransactionInfo classes for handling base cryptocurrency transaction data
* feat: Implement BaseClient, BaseWalletService, and BaseMnemonicIsIncorrectException
* feat: Setup base proxy for main package and adjust token class name
* feat: Setup initial base node configuration
* feat: Integrate support for base wallet type across various functions and services
* feat: Add base support to exchange and outputs
* feat: Add base wallet type integration to wallet creation and node management
* feat: Add base support to transaction details and transaction list item
* feat: Implement BaseURI class and add base support across wallet creation and keys view models
* feat: Add support for BaseScan preference in settings store
* feat: Integrate Base support into various workflows and documentation
* feat: Addingbase config to windows and secret key support
* feat: Add base support to settings and address handling
* chore: Move walletTypeToCurrency to another file and adjust across codebase
* feat: Add 'basescan_history' string localization
* feat: Remove Cryptocurrency.base, it doesn't have a base currency
* feat: Set eth as native currency
* feat: Enhance Base support across various sending, exchange, transaction details, fees, dashboard and balance
* feat: Integrate Base wallet support in advanced privacy settings and home settings view models
* feat: Add Base wallet support with icon and integration across providers, default settings migration, preferences, wallet connect, settings and token utilities
* feat: Update currency handling to use baseEth for Base wallet integration across various components
* fix: Update default token symbol to ETH in Base wallet transaction model
* refactor: Change default currency references from BASE to ETH across client, transaction info, and wallet components
* feat: Introduce normalizedIconPath for CryptoCurrency to standardize icon retrieval across wallet components
* fix: Include baseEth as a native token in EVMChainClient for currency handling
* chore: Update base_icon.png
* feat: Add more nodes to base_node_list.yml
* refactor: Update wallet icon retrieval to use normalizedIconPath
* chore: Remove unused cases and cleanup impl.
* feat: Add base proxy generation to configure
* refactor: Update base proxy and generation code in configure.dart
* feat: Add missing wallet and mono images
* fix: Wrong image path for pr and add missing base qr image
* feat: Enhance EVMTransactionErrorFeesHandler to parse new insufficient funds error format and calculate transaction fees in ETH and USD
* feat: Add gas price safety buffer for Base chain transactions to improve fee estimation accuracy, also fixes send all not calculating correctly
* Update model_generator.sh [skip ci]
* Update assets/base_node_list.yml [skip ci]
* Update cw_base/lib/default_base_erc20_tokens.dart [skip ci]
* Review fixes
* fixes
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* fix: update Bitcoin and Litecoin Bech32 address patterns for improved detection for pay anything flow
* feat: add Litecoin MWEB address detection patterns for pay anything flow
* feat: Add support for ERC-681 payment scheme to QR and link to exchange send from external QR
* feat: Introduce TokenUtilities to centralize token management across viewmodels
- Added TokenUtilities class to centralize token-related operations for EVM, Solana, and Tron tokens.
- Refactored existing methods in ExchangeTradeViewModel and SendViewModel to utilize TokenUtilities.
- Updated PaymentRequest to include contractAddress.
- Enhanced payment QR scanning to fetch token details for QRs with contract addresses - ERC-681 QR scheme
* fix: Prefill amount with other data when app is brought up via payment deeplink on QR scan
* fix: Reduce trade not created errors WIP
* feat: Add exchange provider logging functionality
* feat: Enhance ERC681URI with amount normalization, prevents parsing issues with various input formats for amounts
* - Use regex from address validator for btc/ltc manual checks
- Add check for solana addresses
- Handle failures in normalizeToInteger method
- fix issue with address only being added when there's an amount
* feat: Trigger pay anything flow when address is pasted via ctrl v or paste input
* fix: remove duplicate registration
* fix: disable text selection in SendCard address field
* feat: Prevent swap option from showing for Mweb and Silent Payment addresses in Pay Anything flow
* refactor: remove notes widget and controllers from swap confirmation bottomsheet
* fix: Issue with tap send all button not responsive, and updateing fiat amount, after wallet syncing is complete if it was previously tapped while wallet was syncing
* fix: Resolve excessive decimal places error with input sanitization and formatting for amount entry
* fix: Add check for already usable amount format to prevent errors with Nano QR scanning
* fix: Improve fiat input handling by preventing unnecessary updates during user input
* fix: Handle potential null case for setReceiveAmountFromFiat
* Update lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* feat: add support for Trezor hardware wallet integration Restore Wallets
* feat: add Trezor hardware wallet support, implement RLP decoding utility, and update transaction signing logic
* feat: add bitcoin trezor signing
* chore: update Trezor Connect dependency to specific commit hash in pubspec_base.yaml
* feat: add trezor support for litecoin
* feat: add colorFilter for device manufacturer icons to align with theme styles
* refactor: optimize Trezor callback handling
* feat: add BitBox and Trezor support for Bitcoin and Litecoin, update transaction signing logic, and improve modularity in hardware wallet services
* refactor: simplify constructor assertions in `BaseBottomSheetWidget` and cleanup Trezor chainId handling logic
* feat: conditionally render device manufacturers based on platform and hide SeedSigner for now
* fix: update Bitcoin and Litecoin Bech32 address patterns for improved detection for pay anything flow
* feat: add Litecoin MWEB address detection patterns for pay anything flow
* feat: Add support for ERC-681 payment scheme to QR and link to exchange send from external QR
* feat: Introduce TokenUtilities to centralize token management across viewmodels
- Added TokenUtilities class to centralize token-related operations for EVM, Solana, and Tron tokens.
- Refactored existing methods in ExchangeTradeViewModel and SendViewModel to utilize TokenUtilities.
- Updated PaymentRequest to include contractAddress.
- Enhanced payment QR scanning to fetch token details for QRs with contract addresses - ERC-681 QR scheme
* fix: Prefill amount with other data when app is brought up via payment deeplink on QR scan
* fix: Reduce trade not created errors WIP
* feat: Add exchange provider logging functionality
* feat: Enhance ERC681URI with amount normalization, prevents parsing issues with various input formats for amounts
* - Use regex from address validator for btc/ltc manual checks
- Add check for solana addresses
- Handle failures in normalizeToInteger method
- fix issue with address only being added when there's an amount
* wrap in try/catch just in case [skip ci]
* Update lib/utils/token_utilities.dart
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* feat: Swap flow for Pay Anything. [WIP]
* feat: Pay Anything Swap Flow [WIP]
* feat: Pay anything swap flow [WIP]
- Add fiat values for send and receive amounts to swap details confirmation bottomsheet
* feat: Pay anything swap flow [WIP]
- Switch exchangeviewmodel back to factory
- Expand address box to fill width
* Handle second swipe to swap cta
* Add fiat for receive amount
* Scope Observers for bottomsheets and add validator
* fix: Repeated instances issue for exchangeVM
* fix: Estimated fee and balance not correctly updating after wallet switching occurs
* fix: Available balance not updating properly after wallet switching
* fix: Available balance and fee rate not displaying after wallet is switched in pay anything flow
* feat: Swap flow for Pay Anything. [WIP]
* feat: Pay Anything Swap Flow [WIP]
* feat: Pay anything swap flow [WIP]
- Add fiat values for send and receive amounts to swap details confirmation bottomsheet
* feat: Pay anything swap flow [WIP]
- Switch exchangeviewmodel back to factory
- Expand address box to fill width
* Handle second swipe to swap cta
* Add fiat for receive amount
* Scope Observers for bottomsheets and add validator
* fix: Repeated instances issue for exchangeVM
* fix: Estimated fee and balance not correctly updating after wallet switching occurs
* fix: Available balance not updating properly after wallet switching
* Fix: Give wallet some time to open before populating send info
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* feat: Pay Anything from Any Wallet
* feat: Trigger payment flow when address is pasted
* chore: Remove unneeded changes
* feat Expand address checks and fix scanning bch qrs
* fix: Add support for dogecoin
* feat: More modifications for Pay from Any Wallet
This change:
- Adds the pay from any wallet flow to externally signed QR codes
- Adds fixes for review comments
- Fixes failing tests
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* feat: bitcoin view-only
* fix: add UR to cw_bitcoin, fix payjoin issue
* feat: add unsignedPsbt to PendingBitcoinTransaction
* wip
* feat: xpub restore from bitcoin URI QR
* feat(dev): debug UR codes [skip ci]
* fix: master fingerprint default in create bitcoin transaction
* fix: handle empty private key in bitcoin transaction building
* fix: show success dialog after btc ur transaction
* fix(ui): remove SP from UI in view only wallet
* fix(cw_bitcoin): tx sending on non-airgap
* fix(cw_bitcoin): disable all non-segwit addresses
* feat(ur): support BBQR for coldcard qr
* flutter 3.27.0 -> 3.27.4
* feat: raw xpub qr support for coldcard q
* fix: update ledger_bitcoin
fix: update switching button
* fix: restore button not showing up after scanning
* feat: commit raw tx (from coldcard Q)
* feat: legacy crypto-psbt support for seed signer
* chore: address comments from review
* fix(cw_bitcoin): disable sp and payjoin for cupcake
* feat: enable DNSSEC BIP353 in PSBT (#2397)
* feat: enable DNSSEC BIP353 in PSBT
* chore: put bitcoin view only behind a featureflag
* fix: update Monero wallet to work with new internal URQR return format
* feat: add "Restore from Cupcake App" option with localized strings
* feat: enable DNSSEC BIP353 in PSBT using dnssec-prover (#2401)
* fix: use dnssec-prover
chore: bump ndk to r28c
* fix: validate DNSSEC proof before updating the UI
* fix: rename button to copy debug info to not hide actions on URQR widget
---------
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* feat: add max decimal handling for crypto amounts and test coverage
* fix: correct decimal point handling in `withMaxDecimals` and update related test
* fix: ensure amount formatting aligns with selected currency decimals in ReceivePage
* fix: ensure amount controller syncs with ViewModel in AddressPage and ReceivePage
* feat: add support for currency decimals and streamline amount handling logic
* fix: ensure crypto and fiat amounts sync correctly in Send ViewModel
* fix(cw_monero): call store() directly after commiting tx to make sure that tx key is written to cache
also, store it in TransactionDescription hive box
* Update lib/view_model/send/send_view_model.dart
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix(solana-issues): Fix missing solana transaction history entries
* fix(solana-issues): Fixes issues relating to Solana Transaction History
This change:
- Modifies transaction parsing logic to handle more scenarios and better parse Solana transaction data.
- Adds partial filter for spam transactions
* fix(solana-issues): Enhance transaction parsing for Associated Token Account (ATA) programs
This change:
- Adds logic to differentiate between create account and token transfer transactions for the ATA program.
- Introduces a check to skip transactions that only create accounts without associated token transfers.
* fix(solana-issues): Improve transaction update logic and enhance error handling
This change:
- Updates the transaction update callback to only trigger when new valid transactions are present.
- Enhances error handling for insufficient funds by distinguishing between errors for sender and receiver.
* Initial Payjoin
* Initial Payjoin
* More payjoin stuff
* Minor fixes
* Minor fixes
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Fix minor bug causes by data inconsistency in the btc utxos
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Initial Payjoin
* Initial Payjoin
* More payjoin stuff
* Minor fixes
* Minor fixes
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Fix minor bug causes by data inconsistency in the btc utxos
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Minor cleanup
* Fix Rebase issues
* Move PJ Receiver to isolate
* Add Payjoin Setting
* Payjoin Sender are now isolated
* Added Payjoin sessions to tx overview. Fix Fee issue with payjoin
* Clean up code
* Fix taproot for payjoin
* Fix CI Errors
* Add Payjoin UI elements and details page
* Add Payjoin UI elements and details page
* Fix Translations
* feat: Detect Payjoin URIs in pasted text and show to the User sending Payjoin
* feat: rename pjUri to payjoinURI for more code clarity
* Update res/values/strings_pl.arb
Co-authored-by: cyan <cyjan@mrcyjanek.net>
* Update cw_bitcoin/lib/payjoin/manager.dart
Co-authored-by: cyan <cyjan@mrcyjanek.net>
* Update cw_bitcoin/lib/payjoin/manager.dart
Co-authored-by: cyan <cyjan@mrcyjanek.net>
* feat: Disable Payjoin per default
* feat: Disable Payjoin fully if disabled or no Inputs available
* feat: Resume Payjoin if app comes back to foreground
* chore: Revert overly aggressive code formats
* feat: show correct Payjoin amount for receivers
* feat: Improved payjoin status
* feat: Show payjoin errors on payjoin details screen
* deps: update flutter to 3.27.4
* feat: Revert localisations
* bug: Remove duplicate transaction id on payjoin details
* style: remove double await in payjoin sender
* refactor(cw_bitcoin): Refactor method signatures and convert constructor to factory
* refactor(cw_bitcoin): Refactor wallet service and PSBT signer for cleaner code
Removed unnecessary `CakeHive` dependency and refactored `BitcoinWallet` initialization to use `payjoinSessionSource`. Improved code readability in `PsbtSigner` by reformatting lines and simplifying constructor methods for `UtxoWithPrivateKey`.
* fix: Resume Payjoin Sessions and load PJUri after sleep
* feat: Add "Copy Payjoin URL button" to receive screen
* fix: Add "Payjoin enabled"-Box below QR Code on the receive screen
* fix: Set payjoin_enabled color to black independent of the theme
* refactor: Payjoin session management and cleanup unused code.
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: cyan <cyjan@mrcyjanek.net>
* fix(cw_monero): prevent monero wallet from breaking during rename
* update to cleaned up monero.dart
* fix: transaction screen not refreshing in monero
* fix: wallets not opening until app restart after rename.
* fix(cw_decred): wallet renaming throwing
* fix: transaction not being shown after sending until 1st confirmation
* fix(cw_monero): loop safeguard
* fix: don't await wallet.fetchTransactions
* feat: background sync improvements
- dev options on ci build cherrypick
- add permissions for background sync to AndroidManifestBase
- enable desugaring + update java compatibility to 17
- update walletconnect_flutter_v2
- update ens_dart
- update nostr_tools
- add notification for new transactions found in background
- expose more settings from flutter_daemon in UI
- remove battery optimization setting when it's already disabled
- fix notification permission handling
- fix background sync last trigger saving
- prevent notifications from being duplicated
* potential fix for multiple notifications firing for the same tx
* improve logging in background sync
* ui improvements to ignore battery optimization popup
* feat: logs for bg sync
disable decred bgsync
* fix: call store() directly to be sure that it is writing the data
* chore: rename logs to background sync logs
* Update lib/view_model/dashboard/dashboard_view_model.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* chore: remove unused key
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Error while restoring Solana Wallet with PrivateKey
* fix: Enhance Solana Error Messages, especially for ATA Creation Errors
* - Optimize Solana Transaction History, now more smoother and faster
- fix bug with transactions history not being displayed in real time until next reload
* feat: Add Open CryptoPay for sending
* bug: Fix sending Open CryptoPay for eth
* feat: add transaction dismissal
* style: remove print statements from OCP
* feat: add support for Monero over OCP
* bug: Hide "Add to Address Book" on OCP transactions
* style: revert code style in send_view_model.dart
* style: revert code style in send_view_model.dart
* feat: set failure state if it fails to create an OCP transaction
* Update lib/view_model/send/send_view_model.dart
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* computed sending balance value
* files that didnt get added before
* monero + move unspent calc to view model
* working
* remove old code
* Update lib/view_model/send/send_view_model.dart
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* decred: Add decred. (#1322)
* multi: Add initial decred screens. (#1165)
Use a mock libwallet for now.
* cw_decred: add libdcrwallet dependency and link library for android, ios and macos (#1240)
* change cw_decred from package to plugin
* add libdcrwallet dependency and link library for android, ios and macos
* remove spvwallet, make some libdcrwallet fns async, light refactor
* libdcrwallet: use json payload returns
* use specific libwallet commit hash
* decred: fix Rename wallet.
---------
Co-authored-by: JoeGruff <joegruffins@gmail.com>
* decred: Add sync.
* decred: Add send transaction.
* decred: Fix fee estimation.
* decred: List transactions.
* decred: Add rescan.
* decred: Sign message.
* decred: Add new addr and addrs.
* decred: Add change wallet pass.
* decred: Add restore from seed.
* decred: Add watching only wallets.
* decred: Enable mainnet.
* decred: Allow using blank node address.
This allows a persistent peer to be unset, falling back to decred
seeders.
* decred: Rescan from wallet birthday.
* add and update macos build scripts, update build readme, gitignore macos project.pbxproj
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* multi: hide decred rescan page if it's not ready
- move hasRescan method to WalletBase and implement for decred
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* cw_decred: fix bug where decred wallets are not loaded after app restart
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* add buy and sell for decred via onramp
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* bug-fix: account for other send outputs that are part of the same tx
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* decred: Return address with no peers.
* decred: Update pubspec.
* decred: Add verify message.
* upgrade hive_generator dep in cw_decred
* decred: Clean up code.
---------
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
Co-authored-by: Wisdom Arerosuoghene <wisdom.arerosuoghene@gmail.com>
Co-authored-by: Philemon Ukane <ukanephilemon@gmail.com>
* fix extracted addresses not used
fix conflicts with main
* remove print [skip ci]
* minor formatting
* fix initial migration version
* add build decred script to workflow
* install go before build decred
fix switch cases
* trial 2 to fix decred build
* re-install go
* revert build script change
* refactor/clean nodes functions
* Fix address book issue
Fix send ALL (to be continued with the fees point)
* Fix transactions display issues
Add missing file
* Fix unconfirmed balance not displayed
Change Wallet order
Minor cleanup
* Fix workflow
* Fix workflow
* Fix workflow
* test
* hardcode path for now
* fix + cleanup decred build script to work on mac and linux
* Update decred build script
* Run actions on pull requests, extract commit message
* run after checkout
* add safe directory
* Get commit message from base.sha instead of last commit
* base -> head
* Do not merge main branch into pr
* [skip slack] [run tests] clone by sha
* Proper name for decred library in the build script
* Throw an error when ANDROID_HOME or ANDROID_NDK_VERSION is missing
* Fix conflicts with main
* minor code enhancement
* decred: Add used address history. (#1941)
* decred: Update pubspec.
* decred testnet
* decred: Add used address history.
* decred: Remove default node list.
* populate transaction history before sync begins
* decred: Add some awaits.
* decred: Fix send all.
* decred: Add clang export to build script.
* decred: Update logo colors.
* cleanup cw_decred.dart
* make decred wallet addresses selectable in receive page
* decred: Always set default addr when used.
* decred: Add back default node list.
* decred: Allow creating addresses manually.
---------
Co-authored-by: Wisdom Arerosuoghene <wisdom.arerosuoghene@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* minor fixes and cleanup
* minor fix, feel free to test now
* - Fix transaction details
- Fix Nodes
- Add processing sync status
* Add decred info card
* push missing file
* Add missing text for decred info card
* minor: change docs link [skip ci]
* decred: Update derivation info. (#2013)
* decred: Update derivation info.
* decred: Allow unsynced unused addresses.
* decred: Update dcrwallet dep to 4.3.0.
* Merge main and fix conflicts
* Merge main and fix conflicts
* decred: Fix background sync panic. (#2080)
* decred: Run libwallet in isolate. (#2077)
* decred: Fix contact save inquiry. (#2083)
Also fix tx time and the fee shown on pending transactions.
* Disable send button in view only decred wallets
* - Fix frozen coins
- Add URI support
- Fix fees in tx details
- Handle empty coins send
- Handle wallets in address book
* Merge main
* remove print [skip ci]
* Fix restore from QR
* minor improvement for QR restore
* Remove Haven Wallet
* Remove haven scripts
* minor fixes [skip ci]
* decred: Get slip44 addrs before sync completes. (#2092)
* - Fix loading wallet more than one time
- Fix minor UI issue
* fix merge issue
* fix merge issue
---------
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
Co-authored-by: JoeGruffins <34998433+JoeGruffins@users.noreply.github.com>
Co-authored-by: Wisdom Arerosuoghene <wisdom.arerosuoghene@gmail.com>
Co-authored-by: Philemon Ukane <ukanephilemon@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
* decred: Add decred. (#1322)
* multi: Add initial decred screens. (#1165)
Use a mock libwallet for now.
* cw_decred: add libdcrwallet dependency and link library for android, ios and macos (#1240)
* change cw_decred from package to plugin
* add libdcrwallet dependency and link library for android, ios and macos
* remove spvwallet, make some libdcrwallet fns async, light refactor
* libdcrwallet: use json payload returns
* use specific libwallet commit hash
* decred: fix Rename wallet.
---------
Co-authored-by: JoeGruff <joegruffins@gmail.com>
* decred: Add sync.
* decred: Add send transaction.
* decred: Fix fee estimation.
* decred: List transactions.
* decred: Add rescan.
* decred: Sign message.
* decred: Add new addr and addrs.
* decred: Add change wallet pass.
* decred: Add restore from seed.
* decred: Add watching only wallets.
* decred: Enable mainnet.
* decred: Allow using blank node address.
This allows a persistent peer to be unset, falling back to decred
seeders.
* decred: Rescan from wallet birthday.
* add and update macos build scripts, update build readme, gitignore macos project.pbxproj
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* multi: hide decred rescan page if it's not ready
- move hasRescan method to WalletBase and implement for decred
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* cw_decred: fix bug where decred wallets are not loaded after app restart
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* add buy and sell for decred via onramp
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* bug-fix: account for other send outputs that are part of the same tx
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
* decred: Return address with no peers.
* decred: Update pubspec.
* decred: Add verify message.
* upgrade hive_generator dep in cw_decred
* decred: Clean up code.
---------
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
Co-authored-by: Wisdom Arerosuoghene <wisdom.arerosuoghene@gmail.com>
Co-authored-by: Philemon Ukane <ukanephilemon@gmail.com>
* fix extracted addresses not used
fix conflicts with main
* remove print [skip ci]
* minor formatting
* fix initial migration version
* add build decred script to workflow
* install go before build decred
fix switch cases
* trial 2 to fix decred build
* re-install go
* revert build script change
* refactor/clean nodes functions
* Fix address book issue
Fix send ALL (to be continued with the fees point)
* Fix transactions display issues
Add missing file
* Fix unconfirmed balance not displayed
Change Wallet order
Minor cleanup
* Fix workflow
* Fix workflow
* Fix workflow
* test
* hardcode path for now
* fix + cleanup decred build script to work on mac and linux
* Update decred build script
* Run actions on pull requests, extract commit message
* run after checkout
* add safe directory
* Get commit message from base.sha instead of last commit
* base -> head
* Do not merge main branch into pr
* [skip slack] [run tests] clone by sha
* Proper name for decred library in the build script
* Throw an error when ANDROID_HOME or ANDROID_NDK_VERSION is missing
* Fix conflicts with main
* minor code enhancement
* decred: Add used address history. (#1941)
* decred: Update pubspec.
* decred testnet
* decred: Add used address history.
* decred: Remove default node list.
* populate transaction history before sync begins
* decred: Add some awaits.
* decred: Fix send all.
* decred: Add clang export to build script.
* decred: Update logo colors.
* cleanup cw_decred.dart
* make decred wallet addresses selectable in receive page
* decred: Always set default addr when used.
* decred: Add back default node list.
* decred: Allow creating addresses manually.
---------
Co-authored-by: Wisdom Arerosuoghene <wisdom.arerosuoghene@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* minor fixes and cleanup
* minor fix, feel free to test now
* - Fix transaction details
- Fix Nodes
- Add processing sync status
* Add decred info card
* push missing file
* Add missing text for decred info card
* minor: change docs link [skip ci]
* decred: Update derivation info. (#2013)
* decred: Update derivation info.
* decred: Allow unsynced unused addresses.
* decred: Update dcrwallet dep to 4.3.0.
* Merge main and fix conflicts
* Merge main and fix conflicts
* decred: Fix background sync panic. (#2080)
* decred: Run libwallet in isolate. (#2077)
* decred: Fix contact save inquiry. (#2083)
Also fix tx time and the fee shown on pending transactions.
* Disable send button in view only decred wallets
* - Fix frozen coins
- Add URI support
- Fix fees in tx details
- Handle empty coins send
- Handle wallets in address book
* Merge main
* remove print [skip ci]
* Fix restore from QR
* minor improvement for QR restore
* minor fixes [skip ci]
* decred: Get slip44 addrs before sync completes. (#2092)
* - Fix loading wallet more than one time
- Fix minor UI issue
---------
Signed-off-by: Philemon Ukane <ukanephilemon@gmail.com>
Co-authored-by: JoeGruffins <34998433+JoeGruffins@users.noreply.github.com>
Co-authored-by: Wisdom Arerosuoghene <wisdom.arerosuoghene@gmail.com>
Co-authored-by: Philemon Ukane <ukanephilemon@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
* feat: Implement New Swap UI including fee items and coin control and extract common fee logic to a feeViewModel, use that in SendViewModel and ExchangeViewModel
* feat: Implement New Swap UI with fee items and coin control and extract common fee logic to a feeViewModel for use in SendViewModel and ExchangeViewModel
* Update colors
* Show warning if user choose a below default transaction priority
* fix: Add warning when user select less than default transaction priority and add condition to show extraId
* Complete Swap UI flow
* Handle edgecases for XRP
* Switch swap page button texts
* Handle edgecases for XLM
* Switch prompt text and handle edgecases
---------
Co-authored-by: tuxpizza <tuxsudo@tux.pizza>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* [skip-ci] wip
* [skip-ci] styles still need updating
* working but needs style updates
* fix checkbox caption color
* sort mweb coins to be last when selecting inputs
* ui fixes
* [skip-ci] default to mweb-checkbox being off
* adaptable page view builder + workaround for keyboard actions
* Fix checkbox themeing and send card sizing
* Update lib/src/screens/send/widgets/send_card.dart
---------
Co-authored-by: tuxpizza <tuxsudo@tux.pizza>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* CW-685 Add passphrase restore for xmr/wow (#1552)
* CW-685 Add passphrase restore for xmr/wow
* add support for polyseed passphrase
* disable 14 word seed passphrase (not supported in wownero-seed)
fix: Getting grayed screen on latest passphrase build after having restored a 14-word wownero seed (+passphrase) and attempting to restore a XMR seed, legacy or otherwise.
* fix pointer when restoring depracated wownero seed
* Fix polyseed encryption
* changes from review
* remove unused code
* add passphrase back to the screen
add passphrase to qr code backup export
* fix settings leaking through currencies on seed restore
* fix monero.com builds, make passphrase a getter on WalletBase
* add support for weird polyseed
* store passphrase for weird polyseed
* show encrypted seed only when passphrase is not empty
* force set restore height
* fix build issues
* fix build errors
* fix configure script
* print -> printV
* Update lib/view_model/wallet_keys_view_model.dart [skip ci]
* Update lib/view_model/wallet_keys_view_model.dart [skip ci]
* Update tool/configure.dart [skip ci]
* Update lib/view_model/wallet_new_vm.dart
* reuse existing passphrase field
* remove unused passphrase field
* make workflow run on pullrequests only [skip ci] [skip slack]
---------
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Zano (#1793)
* my experiments
* Inital code for Zano integration
* Added missing android log lib
* added dummy wallet & some zano implementation
* fixing api for zano
* fixed zano build script
* attempt tp fix namespace problem
* added copy script for Zano files
* changes for zano wallet
* last updates
* zano.dart test app
* wallet recovery
* added pending transfer, some cleanup of unused
* some cleanup
* send + receive qr code
* last upd
* updated build_zano.sh
* updated zano ApiCalls, removed dummy
* updated zano ApiCalls, removed dummy
* added logging for get status/get info
* restored old wallet.dart
* restoring original versions of files
* restoring original versions of files
* restored get_height_by_date.dart, removed unnecessary calls for zano get height
* restoring original versions
* added multiple destinations, send all flag; some refactoring
* logging
* removed the duplicate
* fixed syncing sync status, decimal division, safe null json parsing
* some fixes after merge
* added multibalance/asset support for zano (ui)
* adding/removing from whitelist
* transfers in different assets
* transfers for multiple destinations and send all, some refactoring
* whitelists, some refactoring
* added different digits (decimal points) for formatters, some refactoring
* open, create, restore wallet refactoring; whitelists
* whitelists
* getting and updating transaction list; restoring a wallet from QR code
* several attempts to close wallet
* some refactoring
* added seed phrase
* changed fields to BigInt, some fixes
* modified build scripts for android
* build scripts
* restored accidently removed cw_haven.dart
* inital ios integration(zano libs built)
* update in script
* latest changes
* Applied a patch for iOS build (Boost and Zano scripts)
* Removed zano.dart (script-generated) and some unnecessary files
* Revert "Removed zano.dart (script-generated) and some unnecessary files"
This reverts commit 367c86398ef2616006a2cbd2339ef2f30ed2800e.
* Removed zano.dart (generated by scripts), some files restored to initial versions
* added timer library
* changed paths in build_zano.sh
* build_zano.sh
* edit_token_page.dart - removed flag skipZanoAddressValidation
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* lib/core/address_validator.dart - updated zano address regex
lib/src/screens/dashboard/edit_token_page.dart - using AddressValidator().call
* fix zano build issues on android
* remove contrib/depends to save space
* move async call to a synchronouse one
* call sync call in isolate to make it async
generate framework for iOS as well
fix UR issues
* zano changes from monero_c repo
* update monero_c hash
* fix invalid zano imports, add support for linux, speed up CI builds
* update monero_c hash
* bump monero_c commit (yes, again, I know)
* fix wallet resttore, fix hardcoded IP
* fix regex, don't throw error when opening wallet, fix tx history, fix async calls, move stuff to isolate
* fix api calls in async transaction creation
* update build scripts
* fix some build issues
* update dependencies
* fix dependencies
* update ci scripts
* Improve multithread use of zano api
* Fix build issue
* fix zano node selection, move other zano calls to separate isolate
* update moneroc hash
WIP fixes for zano
* update monero_c
* fix monero.com builds
* sync wallet after connecting
* update monero_c
* Fix windows builds
* update monero_c
* update monero_c
* unshallow submodule
* cherry pick CW-867 Wownero fixes (#1881)
* fix wownero syntax error
* remove print statements in zano
* update zano node URL
* [PATCH] Apply new CI script (https://github.com/cake-tech/cake_wallet/pull/1948)
* drop env -i to fix cmake build errors on newer system
* [skip ci] Revert "[PATCH] Apply new CI script (https://github.com/cake-tech/cake_wallet/pull/1948)"
This reverts commit 5acb5bfe57c4b2aeb7aa40bd684a3319a68f98bc.
* [run tests] [skip slack] Fix env in build
* Dynamically detect number of cores used to build monero_c, since it appears that zano requires more memory to link (and it reliably fails for first couple builds due to OOM on CI/VM with memory constrains).
Drop unshallowing of all modules
[run tests]
* Changes from review [run tests]
* drop zano on linux (missing symbols)
fix wownero on linux
add aarch64-linux-gnu
[run tests]
* - remove duplicate entry in addToken()
- use walletPassword in createZanoNewWalletCredentials
- remove createZanoRestoreWalletFromKeysCredentials
[run tests]
* [skip ci] update dockerfile
* fix parameter issue
---------
Co-authored-by: leo <leonid.ivanov@gmail.com>
Co-authored-by: cr.zoidberg <crypto.zoidberg@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* - Add Zano Aliases
- Enable simpleswap [skip ci]
- Fix settings migration versions
* push missing file [skip ci]
* Zano pr with CW-685 passphrase (#1969)
* my experiments
* Inital code for Zano integration
* Added missing android log lib
* added dummy wallet & some zano implementation
* fixing api for zano
* fixed zano build script
* attempt tp fix namespace problem
* added copy script for Zano files
* changes for zano wallet
* last updates
* zano.dart test app
* wallet recovery
* added pending transfer, some cleanup of unused
* some cleanup
* send + receive qr code
* last upd
* updated build_zano.sh
* updated zano ApiCalls, removed dummy
* updated zano ApiCalls, removed dummy
* added logging for get status/get info
* restored old wallet.dart
* restoring original versions of files
* restoring original versions of files
* restored get_height_by_date.dart, removed unnecessary calls for zano get height
* restoring original versions
* added multiple destinations, send all flag; some refactoring
* logging
* removed the duplicate
* fixed syncing sync status, decimal division, safe null json parsing
* some fixes after merge
* added multibalance/asset support for zano (ui)
* adding/removing from whitelist
* transfers in different assets
* transfers for multiple destinations and send all, some refactoring
* whitelists, some refactoring
* added different digits (decimal points) for formatters, some refactoring
* open, create, restore wallet refactoring; whitelists
* whitelists
* getting and updating transaction list; restoring a wallet from QR code
* several attempts to close wallet
* some refactoring
* added seed phrase
* CW-685 Add passphrase restore for xmr/wow
* add support for polyseed passphrase
* disable 14 word seed passphrase (not supported in wownero-seed)
fix: Getting grayed screen on latest passphrase build after having restored a 14-word wownero seed (+passphrase) and attempting to restore a XMR seed, legacy or otherwise.
* fix pointer when restoring depracated wownero seed
* Fix polyseed encryption
* changed fields to BigInt, some fixes
* modified build scripts for android
* build scripts
* restored accidently removed cw_haven.dart
* inital ios integration(zano libs built)
* update in script
* latest changes
* changes from review
* remove unused code
* add passphrase back to the screen
add passphrase to qr code backup export
* fix settings leaking through currencies on seed restore
* fix monero.com builds, make passphrase a getter on WalletBase
* add support for weird polyseed
* store passphrase for weird polyseed
* show encrypted seed only when passphrase is not empty
* force set restore height
* Applied a patch for iOS build (Boost and Zano scripts)
* Removed zano.dart (script-generated) and some unnecessary files
* Revert "Removed zano.dart (script-generated) and some unnecessary files"
This reverts commit 367c86398ef2616006a2cbd2339ef2f30ed2800e.
* Removed zano.dart (generated by scripts), some files restored to initial versions
* fix build issues
* fix build errors
* added timer library
* changed paths in build_zano.sh
* build_zano.sh
* edit_token_page.dart - removed flag skipZanoAddressValidation
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* lib/core/address_validator.dart - updated zano address regex
lib/src/screens/dashboard/edit_token_page.dart - using AddressValidator().call
* fix zano build issues on android
* remove contrib/depends to save space
* move async call to a synchronouse one
* call sync call in isolate to make it async
generate framework for iOS as well
fix UR issues
* zano changes from monero_c repo
* update monero_c hash
* fix invalid zano imports, add support for linux, speed up CI builds
* update monero_c hash
* bump monero_c commit (yes, again, I know)
* fix wallet resttore, fix hardcoded IP
* fix regex, don't throw error when opening wallet, fix tx history, fix async calls, move stuff to isolate
* fix api calls in async transaction creation
* fix configure script
* update build scripts
* fix some build issues
* update dependencies
* fix dependencies
* update ci scripts
* Improve multithread use of zano api
* Fix build issue
* fix zano node selection, move other zano calls to separate isolate
* update moneroc hash
WIP fixes for zano
* update monero_c
* fix monero.com builds
* sync wallet after connecting
* update monero_c
* Fix windows builds
* update monero_c
* print -> printV
* update monero_c
* unshallow submodule
* cherry pick CW-867 Wownero fixes (#1881)
* fix wownero syntax error
* remove print statements in zano
* update zano node URL
* [PATCH] Apply new CI script (https://github.com/cake-tech/cake_wallet/pull/1948)
* drop env -i to fix cmake build errors on newer system
* Update lib/view_model/wallet_keys_view_model.dart [skip ci]
* Update lib/view_model/wallet_keys_view_model.dart [skip ci]
* Update tool/configure.dart [skip ci]
* Update lib/view_model/wallet_new_vm.dart
* [skip ci] Revert "[PATCH] Apply new CI script (https://github.com/cake-tech/cake_wallet/pull/1948)"
This reverts commit 5acb5bfe57c4b2aeb7aa40bd684a3319a68f98bc.
* [run tests] [skip slack] Fix env in build
* Dynamically detect number of cores used to build monero_c, since it appears that zano requires more memory to link (and it reliably fails for first couple builds due to OOM on CI/VM with memory constrains).
Drop unshallowing of all modules
[run tests]
* Changes from review [run tests]
* drop zano on linux (missing symbols)
fix wownero on linux
add aarch64-linux-gnu
[run tests]
* - remove duplicate entry in addToken()
- use walletPassword in createZanoNewWalletCredentials
- remove createZanoRestoreWalletFromKeysCredentials
[run tests]
* [skip ci] update dockerfile
* reuse existing passphrase field
* add passphrase support for zano
* Drop aarch64-linux-gnu for now.
* fix passphrase display, fix gray screen
* catch errors in polyseed encryption, encrypt only polyseed, fix coin in wownero
* update monero_c
update wownero to 0.11.3.0
* Show passphrase only when non-empty, fix passphrase being displayed as view key private.
* fix NanoAccountListPage showing up instead of MoneroAccountListPage for wownero
* build zano dependencies on android
* fix parameter issue
* minor merge leftover [skip ci]
* minor cleanup [skip ci]
* fix zano alias
update eth url for ens lookup
change $MAKE_JOB_COUNT to $NPROC
* minor cleanup [skip ci]
* fix zano alias
* Disable passphrase for creation of xmr/wow/zano
minor fixes
* fix zano on iOS
* - Fix get token data
- Enable unavailable balance
- Enable confirmations count
- Adjust explorer link
---------
Co-authored-by: leo <leonid.ivanov@gmail.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: cr.zoidberg <crypto.zoidberg@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
---------
Co-authored-by: cyan <cyjan@mrcyjanek.net>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: leo <leonid.ivanov@gmail.com>
Co-authored-by: cr.zoidberg <crypto.zoidberg@gmail.com>
* fix: Ethereum enhancements around fees and computations relating to signing and sending transactions
* feat: Add nownodes key for evm to workflow
* feat: Reactivate send all on both eth and polygon wallet types
* fix: Add generic function for updating the node for a wallet type, move ethereum transaction error fees handler to a new file
* fix: Revert podfile.lock
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>