* 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 support for Ethereum EIP-681 URIs in PaymentRequest and implement test coverage
* test: add unit test for EIP-681 URI handling with contract and no chainId [skip-ci]
* fix(CW-1114): rounding error for really large numbers
* fix: wrong decimals for eth fee display
* fix: limit fractional digits to a maximum of `decimals` in `format_fixed` function [skip-ci]
* test: add unit tests for `formatFixed` function
* refactor: replace custom balance formatting with `formatFixed` utility function
* refactor: improve dEuroViewModel formatting and computation logic
* refactor: extract and simplify interest action handlers in dEuro savings page
* fix: deuro add should show edit Add bottom sheet
* feat: block user from entering amount bigger than the max
* feat: use new tooltip bottomsheet for dEuro
* feat: add pull down to refresh dEuro savings
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Generic fixes
* fix: Modify hasSufficientFundsForRent to work for spl transactions
* feat: Integrate seed verification into integration tests
* fix: Adjust workflow file
* chore: Remove previous working directory
* fix: Revert change
* chore: Remove step to setup kvm, already existing in new setup
* chore: Remove a couple of steps from workflow
* chore: Try switching test commands
* fix: Switch back to flutter drive
* fix: Flutter error when running tests with Flutter drive
* feat: Add screenshots to individual test pages and modify integration test script to add a watch dog to prevent infinite running on CI
* feat: Implement transaction success info robot and fix issue with send flow test
* fix: Improve integration testing for exchange flow and clean up logic and resulting errors
* fix: Handle duplicate words for seeds and test restore through seeds
* fix: Optimize implementation for transactions history test
* Skip seed verification when in debug and when not in CI flow
* chore: Remove print statements and add TODOs
* fix: Upgrade version for upload action
* fix: Add missing secrets to testing workflow file
* fix tests not working in latest main [skip slack]
# Conflicts:
# lib/src/screens/wallet_keys/wallet_keys_page.dart
* add zano seed [skip slack] [run tests]
* disable exchange_flow_test.dart [run tests] [skip slack]
* Run tests on linux always (since nobody ever used [run tests])
* fix tests after ui updates
* [skip slack] tests update
* Fixing tests WIP
* Fix create wallet integraiton test flow
* Update and fix Exchange flow test flow
* Switch printV to printToConsole
* Adjustments to the the flows on Send and Exchange
* feat: Modify Exchange and send tests to fit new flow
* fix:
- Pause screenshots for now, results in a super large json response file
- Fix delay on send bottomsheet because of pumpAndSettle animation
- Fix issue with integration test runner script
* fix(integration-tests): Fix issues relating to send flow integration tests.
This change:
- Handles the slider during the send confirmation flow during the send integration test
- Adds the missing seeds for the restore flow to the relevant workflow files
* feat: Enhance Send flow Automation Integration Test Flow
This change:
- Updates test wallet address in CommonTestConstants.
- Modifies startAppFlow to accept a dynamic key.
- Improves waitForSendPage and checkIfSendPageIsVisible methods for better page visibility handling.
- Adds validateWalletBalance method to ensure sufficient funds before sending.
- Enhances transaction success flow handling in SendPageRobot.
* refactor: Update SendPageRobot for improved transaction state handling
This change:
- Adds support for the TransactionCommitted state in the SendPageRobot.
- Removes the handleSendResult method to streamline the send flow.
- Enhances checks for successful transaction completion by verifying navigation to the DashboardPage.
- Improves visibility handling for the contact addition dialog in the transaction success flow.
* chore: Update automated integration test workflow
This change:
- Updates apkl file naming to use sanitized branch names for better consistency.
- Adds a step to output system environment information to aid in troubleshooting.
- Enhances KVM setup with checks to see if device exists and there is proper permission.
- Adjusts working directory references for Android emulator setup.
* chore: Enhance automated integration test workflow
This change:
- Adds cleanup steps for existing emulator processes to ensure fresh environment.
- Updates APK file naming to use sanitized branch names for consistency.
- Enhances debug output for APK file creation and searching, improving visibility during the workflow.
* chore: Modify apk file renaming step in workflow
* chore: Enhance automated integration test workflow
This change:
- Increases timeout for integration tests to 60 minutes.
- Adds a timeout of 90 minutes for the automated integration test job.
- Improves KVM setup with detailed checks and outputs for existing device, permissions, and functionality.
- Adds system resource checks to provide information on memory, disk space, and CPU cores during the workflow.
- Implements error handling for the integration test runner to ensure graceful failure reporting.
* chore: Enhance AVD configuration and emulator management in integration test workflow
* refactor: Improve transaction history flow tests and item visibility checks
This change:
- Enhances the scrolling logic in the CommonTestCases to check for item visibility before scrolling.
- Adds error handling and logging for transaction history checks in TransactionsPageRobot.
- Adds comprehensive item checks and scrolling for more reliable tests.
* refactor: Modify integration test runner for improved error handling and logging
This change:
- Implements error handling and logging throughout the integration test runner.
- Introduces a cleanup function for data directories and signal handling.
- Enhances test execution with retry logic and detailed duration tracking.
- Provides a comprehensive summary of test results, including passed and failed tests with their durations.
* refactor: Update error handling in transaction history flow tests
* refactor: Remove manual emulator startup logic from integration test workflow
This change simplifies the automated integration test workflow by removing the manual emulator startup process, which was previously included to handle cases where no emulator was running. The workflow now focuses on checking the emulator status and gathering device information without attempting to start an emulator manually.
* refactor: Enhance integration test workflow and error handling
* feat: Add emulator readiness checks and enhance send flow tests
This change:
- Modifies the send flow test to send $1 worth of any of the wallet currencies
- Set up switching between test wallet in case there's zero balance in any of the wallets when the test is run
- Add a mini script to check emulator readiness for the tests
* fix: More CI workflow errors for the tests
* refactor: Update emulator readiness checks and error handling in CI workflow
* fix: Readiness check successful but broken pipe when accessing settings service, plus some syntax errors in the workflow
* refactor: Enhance integration tests with improved visibility checks and timing adjustments
This change:
- Adds visibility checks for widgets before interaction in various test flows.
- Introduces consistent pump and settle durations to ensure UI stability during tests.
- Refines scrolling logic to confirm wallet types are visible before selection.
- Updates tap actions to include warnings for missed taps, improving test reliability.
* fix: Issues with confirm seeds and keys Automated test
* fix: Add missing await for tap calls
* fix: Temporarily disable CI workflow and minor cleanup to testflows
* fix: Add missing keys to CI workflow
* chore: Temporarily disable Automation CI
* chore: Cleanup
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
* feat: enhance dEuro Savings UI and functionality with fiat support and tooltips
* feat: add "Reinvest Interest" feature and improve dEuro Savings functionality
- Implemented the "Reinvest Interest" feature for dEuro Savings.
- Updated localized strings for multiple languages.
- Enhanced error handling for insufficient gas fees.
- Incorporated loading state and tooltips in Savings Card and Interest Card.
- Improved UI responsiveness and button state management.
* feat: localize deuro tooltips
* feat: enhance dEuro Savings with reinvestment feature and localized strings
- Added "Reinvest Interest" functionality for dEuro Savings.
- Updated localized strings across multiple languages.
- Improved modal bottom sheet handling for savings add/remove operations.
- Enhanced tooltips and UI responsiveness.
* feat: improve dEuro Savings page with info chips and localized strings
* Update res/values/strings_de.arb
* fix: update dEuro action type reset in transaction handling
* feat(walletconnect): Minor update to WalletConnect tile UI to fix expanded image issue
* feat(walletconnect): Minor update to WalletConnect tile UI to fix expanded image issue
* feat(walletconnect): Enhance WalletConnect EVM chain service.
This change:
- Improves signTypedDataV4 method handing and data parsing in extractPermitData.
- Adjusts UI for One Click Auth requests
* feat(walletconnect): Add redirect to PairingMetadata in WalletKit setup
* fix(walletconnect): Ensure session null checks before handling redirects in EvmChainService
* fix(walletconnect): Add null safety checks for permitData properties in EvmChainService
* refactor(walletconnect): Update WCPairingItemWidget layout and improve error handling for image loading
* fix(walletconnect): Handle break in connection flow triggered by global exception handler when SVGParser fails on invalid SvgData and triggers FlutterError.
* refactor(solana): Remove redundant session request responses and simplify error handling in SolanaChainService
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* tor wip
* Enable tor on iOS
* Prevent app lag when node is exceptionally slow (usually over tor)
* fix: logic in daemonBlockchainHeight refresh
fix: storing tor state
* Pin ledger_flutter_plus dependency to fix builds
* bump arti version
* wip
* add single httpclient
* route everything I was able to catch trough the built-in tor node
* Enable proxy for http.Client [run tests]
* add tor proxy support to cw_evm, cw_tron and cw_polygon [run tests]
* remove log pollution, cleanup [skip slack]
* fix tests not working in latest main [skip slack] [run tests]
* remove cw_wownero import
* fix build issues
* migrate all remaining calls to use ProxyWrapper
add a CI action to enforce using ProxyWrapper instead of http/http.dart to prevent leaks
* fix tor background sync (will work on test builds after #2142 is merged and this PR is rebased on top)
* wip [skip ci]
* relicense to GPLv3 add socks5 license, build fixes
* use ProxyWrapper instead of http in robinhood
* Revert "relicense to GPLv3"
* feat(cw_bitcoin): support socks proxy and CakeTor
* fix(tor): migrate OCP and EVM over to ProxyWrapper()
* chore: cleanup
fix: show tor loading screen when app is starting
* fix: tor switch properly dismisses fullscreen loading dialog
fix: connectToNode after tor startup on app start
* fix(tor): status check for xmr/wow/zano
* fix(tor): onramper request fix
* fix(api): ServicesResponse is now being cached and doesn't fetch data everytime DashboardViewModel is being rebuilt
fix(tor): do not fallback to clearnet when tor failed.
fix(tor): do not leak connections during app startup
chore: refactor bootstrap() function to be separated into bootstrapOffline and bootstrapOnline
fix(cw_bitcoin): migrate payjoin to use ProxyWrapper
* [skip ci] remove print
* address comments from review
* fix: derusting tor implementation
Instead of rust-based Arti I've moved back to the
OG C++ tor implementation.
This fixed all issues we had with Tor.
- onion services now work
- all requests are going through without random errors
- we don't have to navigate a maze of multiple forks of multiple packages
- fully working `torrc` config file (probably will be needed for Tari).
- logging for Tor client
- and so on.
feat: network logging tab
feat: use built-in proxy on Tails - this should resolve all issues for Tails users (needs testing though)
* fix conflicts with main
bump https to fix build issue
relax store() call
* fix(cw_wownero): tor connection
fix(tor): connection issues
* fix(cw_evm): add missing chainId
fix(cw_core): solana rpc fix
* feat: mark tor as experimental
fix: drop anonpay onion authority
fix: drop fiatapi onion authority
fix: drop trocador onion authority
fix: disable networkimage when tor is enabled
fix: handle cakepay errors gracefully
* fix re-formatting [skip ci]
* changes from review
* Delete android/.kotlin/sessions/kotlin-compiler-2468481326039681181.salive
* fix missing imports
* Update pubspec_base.yaml
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
This change:
- Adds svg icons for history and notification
- Updates the sidebar and services widget to use new images
- Fixes services widget icon looking very tiny on desktop
* Fix some colors
* fix(themes): Adjust background and text colors for action buttons on info bottomsheet
---------
Co-authored-by: Blazebrain <davidadegoke16@gmail.com>
* Fix some colors
* fix(theme-updates): Modify condition for theme border style display when hasUnderlineBorder is true
* fix(themes-updates): Adjust switch colors and modify payjoin hint text
* fix: Crash report relating to success image display on successful exchange
* fix(theme-updates): Adjust animated text max width to prevent overflows
* fix(theme-updates): Adjust fee picker styling
* fix(themes-updates): Remove text overflow on welcome screen animation
* fix(themes-update): Fix the cursor to the baseline for the text
---------
Co-authored-by: tuxsudo <tuxsudo@tux.pizza>
* Fix some colors
* fix(theme-updates): Modify condition for theme border style display when hasUnderlineBorder is true
* fix(themes-updates): Adjust switch colors and modify payjoin hint text
* fix: Crash report relating to success image display on successful exchange
* fix(theme-updates): Adjust animated text max width to prevent overflows
* fix(theme-updates): Adjust fee picker styling
* fix(themes-updates): Remove text overflow on welcome screen animation
---------
Co-authored-by: Blazebrain <davidadegoke16@gmail.com>
* feat(themes): Reflect current system theme at the start of the app if the themeMode is system mode
* feat(themes): Extract platform awareness for router into a function, and use where needed
* Add theme base v2
* Initial new theme base files
* Typos
* Fixes
* Update theme files
* feat: Migrate to Material 3 Theming
Foundation, Theme Data Refactor, and First Extension Cleanup Batch.
This commit completes the first major phase of migrating to Material 3 theming by setting up the foundations for material 3 integration and begins the initial migration, removing custom theme extensions, updating theme data, and refactoring all relevant widget and page theming to use Material 3’s built-in color and typography tokens.
These changes:
- Lays the groundwork for Material 3 theming by restructuring the app’s theme configuration to use Material 3’s ColorScheme and TextTheme as the primary sources of color and typography throughout the app.
- Refactors the core theme config files by removing legacy custom color roles ensuring all color definitions now map directly to Material 3’s role.
- Begins the first batch migration of custom theme extensions (InfoTheme, PlaceholderTheme, KeyboardTheme, PinCodeTheme) and updates all affected widgets and pages to use Material 3 color and typography tokens instead of the custom properties.
- Cleans up the codebase by deleting the files of the initial set of migrated extensions and eliminating all related imports and usages.
* feat: Migrate to Material 3 Theming.
This change:
- Updates the themes README.md file to reflect the current structure and give more information based on the first major phase that was completed.
* feat: Migrate to Material 3 Theming
Deleting previous theme extensions
* feat: Migrate to Material 3 Theming
Another batch of migrations from existing extensions
* feat: Migration to Material 3 Theming
Third Migration batch for theme extensions
* fwat: Migration to Material 3 Theming
Final Migration batch for previous theme extensions
* Update onboarding hero
* Update button radius
* Add surfaceContainer to light theme
* feat(themes): Migrate to Material 3 Theming
This change:
- Adds new set of hero images
- Modifies the core structure for the themes
- Add missing color tokens to the theme classes
- Adds a CustomThemeColor class for custom color tokens
- Modifies the themelist to have a fall back for previous theme implementation
- Adds localization for some texts
- Modifies the flow for loading the theme on app start
- Add a WidgetsBindingObserver that listens for changes in the device theme and updates the app theme when there is a change
- Registers the themeStore as a Singleton for codebase wide use
* feat(themes): Migrate to Material 3 theming
This change:
- Migrates UI flows across the app to the new themes
- Confirms styling and typography of components across the app uses the new themes
- Remove instances of Palette use
- Switch TextStyles across the app to use theme text styles
* feat(themes): Migrate to Material 3 Theming.
This change:
- Adjusts bottomsheets styling and removes duplicate close button
- Removes more themedata extensions from the previous implementation
* - Remove outlines from cards and dock
- Update menu colors
- Update padding/divider size for cards
* - Update PIN screen
- Fix navigation dock shadow
- Update wallet screen colors
* Update border radius --skip-ci
* feat(themes): Migrate to Material 3 Theming.
This change:
- Adds gradient backgrounds to the dashbaord and balance cards.
- Migrates the input fields across the app to BaseTextFormFields.
- Removes dependence of input fields on individual styling, focusing instead on using theme defined InputDecoration styling with adjustments on individual components where needed.
- Applies new theme styling to BaseTextFormField, AddressTextField and CurrencyAmountTextField.
* - Switch some hero images to PNG
- Fix nagivation_dock shadow
- Minor fixes
* feat: Add fallback to previous underline styling in central widgets
This change:
- Adds a fallback to CurrencyAmountTextField, AddressTextField, and BaseTextFormField, allowing them use the previous theme styling.
- Adds localization for new texts
* feat(themes): Update warning box colors for dark and light themes
* feat(themes): Relaod themes when user restores from backup, ensuring the user previous theme preference is used.
* feat(themes): Handle themes logic during restore from backup
This change:
- Refactors theme loading logic to handle backup restore edgecase
- Refreshes the theme based on the user saved preference during restore from backup flow
* Fix card gradients and spacing
* Fix even more radiuses
Test new icons for navigation_dock.dart
* Update onboarding flow backgrounds
Fix swap icon clipping
Fix some text colors
Add more hero images
* Fix incorrect color for light theme
* Fix more hero images and cleanup
* Update text field icons
Fix info box CTA colors
Fix sync indicator colors
* Update toggle colors
Update dark theme colors (minor)
Update crypto_balance_widget.dart icon
* Update page transitions in router.dart
Fix some colors
* feat(themes): Display label by default for filled textfields
* feat(themes): Refactor theme handling across various components
This change:
- Fixes issue with themeMode resetting to system mode when app is restarted causing a UI glitch
- Updates theme checks from `currentTheme.type == ThemeType.dark` to `currentTheme.isDark` for consistency
- Adjusts UI components to use the theme directly from the themeStore
* feat(themes): Add animating tagline to the create pin welcome screen
* Revert text fields label temporarily, fix a couple colors, and cleanup some images
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
Co-authored-by: Blazebrain <davidadegoke16@gmail.com>
* 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>
* feat(passphrase for restore): improve passphrase discoverability for restore flow.
Makes the option for adding a passphrase more visible for the user to see while restoring a wallet with seeds.
This change:
- Adds a checkbox on the restore from seeds page that asks if the wallet has a passphrase
- Switches the main CTA for the page to "Add Passphrase" when the checkbox is checked
- Pops up a bottomsheet with input fields for the passphrase when the "Add Passphrase" button is pressed
- Completes the flow and restores the wallet with the passphrase when the "Restore" button on the bottomsheet is pressed
- Hides the passphrase input fields in AdvancedSettings page when its a restore flow.
* feat(passphrase for restore): improve passphrase discoverability for restore flow. (Cont.)
This change:
- Obscures the passpgrase input fields by default
- Changes the color for the main CTA button
* feat(passphrase for restore): improve passphrase discoverability for restore flow. (Cont.)
This change:
- Adjusts the colors for the buttons on both the seed page and the bottomsheet
* feat(passphrase for restore): improve passphrase discoverability for restore flow. (Cont.)
This change:
- Combines the control for the visibility icons of the passphrase input fields - one tap to rule them all :)
* fix(moralis-nft-errors): guard against concurrent NFT fetches and adjusts the message being presented to the user.
Previously multiple calls to get NFTs for the currently opened wallet could overlap and queue the error bottom sheet multiple times.
This change:
- Registers the NFTViewModel as a lazySingleton so its isLoading flag persists.
- Adds an early return in the call to fetch the wallet NFTs when isLoading is already true.
- Cleans up the error message being displayed to the user when there is an error.
* feat(moralis-nft-error): localize error message in NFTViewModel
* feat(nft/wc-bottom-sheet): Revamped the flow, service, theme, and UI for smoother UX
Revamps bottom‑sheet handling end‑to‑end to deliver a much more smoother experience.
This change:
- Refactors the BottomSheetService queueing logic to prevent races and ensure strict sequencing
- Update theme extensions and styling for the bottom‑sheet components
- Adds the option to either auto dismiss or allow user manually dismiss the bottomsheet
* fix: Context clash when entering the wallets on airplane mode. The flushbar clashes with the bottomSheet and results in it blocking entry to the selected wallet.
This change:
- Moves the logic for fetching nft to the listing page, no need fetching if the user does not route to the page,
- Routes to balance page when entering from wallet list page
- Adds a fade transition when entering the dashboard
- Reverts nftViewModel registeration to be a factory
* fix: Revert animation for now, prior to when the UX overhaul for the app is done
* fix: Remove duplicate registration
* 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>
* feat: add exodus style bip39 to monero legacy seed
* feat: restore monero wallet from bip39 and add test
* bug: fix wrong naming in CI
* feat: add monero bip39 UI flow
* fix: monero.dart generation
* fix: skip monero_wallet_service tests till CI is fixed
* ci: copy monero_libwallet2_api_c.so to /usr/lib for testing
ci: reduce timeout for cw_monero tests
* fix: monero wallet creation credentials default to bip39 if mnemonic are set
* fix: do not skip monero wallets services test
* fix: Include non bip39 monero wallets on Wallet Group
* fix: null pointer stemming from missing language selector if seed is selected
* fix: Fixes to Bip39 Creation and restore
- Do not restore from 0 for fresh bip39 wallet
- disallow restoring bip39 wallet without date or height
* fix: Fixes to Bip39 restore
- Refresh height is now getting set correctly
- Add new create monero wallet tests
- Add seed-language English for Bip39 Monero wallets
- Fix seed-type naming
* feat (cw_monero): Store monero wallet after bip39 creation
* feat (cw_monero): remove prints from monero_wallet_service_test.dart
* fix: exception during seed language autodetect
* feat (cw_monero): Add support for passphrases on bip39 seeds
* feat (cw_monero): Add support for passphrases on bip39 seeds
* fix: seed language selection for recovering bip39 wallets
* style: improve readability of isLegacySeedOnly in wallet_keys_view_model.dart
* feat: hide monero seed type selector from advanced settings when creating a child wallet
* fix(cw_monero): use named arguments for bip39_seed tests
---------
Co-authored-by: cyan <cyjan@mrcyjanek.net>
* feat: Fix space for japanese seed
* feat: Fix space for japanese seed
* feat: Upgrade Polyseed version with improved jp support
* feat: Fix monero legacy seed language falling back to english
* 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>