mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
dev
7
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f64ee19b0c |
fix(integration_test): repair compile after chain removal; robust key taps
integration_test/ has not compiled since
|
||
|
|
04203654f1 |
Rename Flutter project + binary: cake_wallet -> hash_wallet
The big one. Touches 760+ files. Locks in the user's decision to break import-line compatibility with upstream cake-tech/cake_wallet in exchange for a binary named hash_wallet on every platform. Changes: - pubspec_description.yaml: project name cake_wallet -> hash_wallet - 762 Dart files: every 'package:cake_wallet/...' import rewritten to 'package:hash_wallet/...' (lib/, cw_*/lib/, tool/, test/, integration_test/) - linux/CMakeLists.txt: BINARY_NAME cake_wallet -> hash_wallet - windows/CMakeLists.txt: project + BINARY_NAME (CakeWallet -> HashWallet) - windows/runner/Runner.rc: company / file / product strings to Hash Wallet + Such Software LLC copyright - macos/Runner.xcodeproj/project_base.pbxproj: cake_wallet_new.app refs -> hash_wallet.app (macOS output bundle name) - com.suchsoftware.HashWallet.yml (Flatpak): all binary path refs cake_wallet -> hash_wallet (e.g. /app/hash_wallet/hash_wallet) - linux/com.suchsoftware.HashWallet.desktop: Exec=hash_wallet - scripts/android/copy_monero_deps.sh: CW_DIR target path - configure_hash_wallet.sh: error message typo (old filename) INTENTIONALLY UNCHANGED: - cw_* subpackage names (cw_core, cw_bitcoin, cw_wownero, etc.) — they remain as the historical 'cake wallet' naming; renaming them would cascade through every sub-package's internal structure - Method channel name 'com.cake_wallet/native_utils' in iOS/macOS/Android AppDelegates and MainActivity — it's a string identifier that has to match the Dart side exactly. Renaming requires both-sides change; it's internal-only and not user-visible. - ghcr.io/cake-tech/cake_wallet:debian13-... docker image references in build scripts — that's Cake Labs' published image we use as the build environment, not ours. User data directory now follows the new binary name: ~/.local/share/hash_wallet/ (was ~/.local/share/cake_wallet/) ~/.config/hash_wallet/ (was ~/.config/cake_wallet/) Existing users on the old name will need migration if any exist. |
||
|
|
40c4118b66 |
refactor: Improve bridge view model (#3184)
* refactor: Improve bridge view model * Move bridge related vms into single folder * handle missing class when building for monero.com * handle missing classes in monero.com build * Minor enhancements * Update lib/view_model/bridge/bridge_view_model.dart [skip ci] * Update lib/view_model/bridge/bridge_view_model.dart --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com> |
||
|
|
c417207007 |
CW 882: Integrate Seed Verification Flow To Integration Tests (#1966)
* 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> |
||
|
|
5082dc20f3 |
CW-519 Enable built-in Tor (#1950)
* 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> |
||
|
|
3ad04227a4 |
test: Attempting automation for testing (#1734)
* feat: Integration tests setup and tests for Disclaimer, Welcome and Setup Pin Code pages * feat: Integration test flow from start to restoring a wallet successfully done * test: Dashboard view test and linking to flow * feat: Testing the Exchange flow section, selecting sending and receiving currencies * test: Successfully create an exchange section * feat: Implement flow up to sending section * test: Complete Exchange flow * fix dependency issue * test: Final cleanups * feat: Add CI to run automated integration tests withan android emulator * feat: Adjust Automated integration test CI to run on ubuntu 20.04-a * fix: Move integration test CI into PR test build CI * ci: Add automated test ci which is a streamlined replica of pr test build ci * ci: Re-add step to access branch name * ci: Add KVM * ci: Add filepath to trigger the test run from * ci: Add required key * ci: Add required key * ci: Add missing secret key * ci: Add missing secret key * ci: Add nano secrets to workflow * ci: Switch step to free space on runner * ci: Remove timeout from workflow * ci: Confirm impact that removing copy_monero_deps would have on entire workflow time * ci: Update CI and temporarily remove cache related to emulator * ci: Remove dynamic java version * ci: Temporarily switch CI * ci: Switch to 11.x jdk * ci: Temporarily switch CI * ci: Revert ubuntu version * ci: Add more api levels * ci: Add more target options * ci: Settled on stable emulator matrix options * ci: Add more target options * ci: Modify flow * ci: Streamline api levels to 28 and 29 * ci: One more trial * ci: Switch to flutter drive * ci: Reduce options * ci: Remove haven from test * ci: Check for solana in list * ci: Adjust amounts and currencies for exchange flow * ci: Set write response on failure to true * ci: Split ci to funds and non funds related tests * test: Test for Send flow scenario and minor restructuring for test folders and files * chore: cleanup * ci: Pause CI for now * ci: Pause CI for now * ci: Pause CI for now * test: Restore wallets integration automated tests * Fix: Add keys back to currency amount textfield widget * fix: Switch variable name * fix: remove automation for now * tests: Automated tests for Create wallets flow * tests: Further optimize common flows * tests: Add missing await for call * tests: Confirm Seeds Display Properly WIP * tests: Confirm Seeds Display Correctly Automated Tests * fix: Add missing pubspec params for bitcoin and bitcoin_cash * feat: Automated Tests for Transaction History Flow * fix: Add missing pubspec parameter * feat: Automated Integration Tests for Transaction History flow * test: Updating send page robot and also syncing branch with main * test: Modifying tests to flow with wallet grouping implementation * fix: Issue with transaction history test * fix: Modifications to the PR and add automated confirmation for checking that all wallet types are restored or created correctly * test: Attempting automation for testing * test: Attempting automation for testing * test: Print out working directory * test: See if I can cut down time by removing the build step * test: More logs * test: Pubspec was not generated, checking if this fixes it * test: Pubspec was not generated, checking if this fixes it * test: Pubspec was not generated, checking if this fixes it * test: Pubspec was not generated, checking if this fixes it * test: Pubspec was not generated, checking if this fixes it * test: Pubspec was not generated, checking if this fixes it * test: Another trial * test: Another trial * test: Another trial * test: Another trial * test: Another trial * test: Another trial * fix: Adjust config file * test: Add commands to generate files and set codebase up as new * test: try another route * test: try another route - 2 * test: try another route * test: try another route - 2 * test: Uncomment KVM and optimizations-a * test: Try with sudo permissions-a * test: Try again * test: Pause build and rename steps, see how faster it resolves * test: Try using working directory * test: Check details of current working directory * test: Switch test run command from flutter drive to flutter test * test: Adding secrets to CI workflow * fix: add working directory to emulator and reactivate build step * test: Add verbosity * test: Check tat emulator is present and ready to connect * test: Try a direct test to see if it'll trigger properly * test: Try the flutter drive command * test: Try uninstalling before running * test: Create an aggregator test file as the entry point for all tests * test: Try without awaiting each test * test: Another trial at getting combined tests running * test: Use a test runner script that'll be responsible for running all available integration tests * test: Add command to make integration test runner file an executable * test: Fix failing exchange flow test * test: fix failing exchange flow test * test: Fix issue with send flow test * test: Fix issue with confirm seeds flow test * test: Modify create and restore flows to reflect modified onboarding flow * chore: Remove package declaration in AndroidManifestBase file to fix issue of it being deprecated * test: Bump up flutter version * fix: Add meld keys * chore: Remove package name declarations from AndroidManifests * better write close function definition comment integration tests workflow for now --------- Co-authored-by: OmarHatem <omarh.ismail1@gmail.com> |
||
|
|
0fcfd76afd |
Automated Integration Tests Flows (#1686)
* feat: Integration tests setup and tests for Disclaimer, Welcome and Setup Pin Code pages * feat: Integration test flow from start to restoring a wallet successfully done * test: Dashboard view test and linking to flow * feat: Testing the Exchange flow section, selecting sending and receiving currencies * test: Successfully create an exchange section * feat: Implement flow up to sending section * test: Complete Exchange flow * fix dependency issue * test: Final cleanups * feat: Add CI to run automated integration tests withan android emulator * feat: Adjust Automated integration test CI to run on ubuntu 20.04-a * fix: Move integration test CI into PR test build CI * ci: Add automated test ci which is a streamlined replica of pr test build ci * ci: Re-add step to access branch name * ci: Add KVM * ci: Add filepath to trigger the test run from * ci: Add required key * ci: Add required key * ci: Add missing secret key * ci: Add missing secret key * ci: Add nano secrets to workflow * ci: Switch step to free space on runner * ci: Remove timeout from workflow * ci: Confirm impact that removing copy_monero_deps would have on entire workflow time * ci: Update CI and temporarily remove cache related to emulator * ci: Remove dynamic java version * ci: Temporarily switch CI * ci: Switch to 11.x jdk * ci: Temporarily switch CI * ci: Revert ubuntu version * ci: Add more api levels * ci: Add more target options * ci: Settled on stable emulator matrix options * ci: Add more target options * ci: Modify flow * ci: Streamline api levels to 28 and 29 * ci: One more trial * ci: Switch to flutter drive * ci: Reduce options * ci: Remove haven from test * ci: Check for solana in list * ci: Adjust amounts and currencies for exchange flow * ci: Set write response on failure to true * ci: Split ci to funds and non funds related tests * test: Test for Send flow scenario and minor restructuring for test folders and files * chore: cleanup * ci: Pause CI for now * ci: Pause CI for now * ci: Pause CI for now * test: Restore wallets integration automated tests * Fix: Add keys back to currency amount textfield widget * fix: Switch variable name * fix: remove automation for now * tests: Automated tests for Create wallets flow * tests: Further optimize common flows * tests: Add missing await for call * tests: Confirm Seeds Display Properly WIP * tests: Confirm Seeds Display Correctly Automated Tests * fix: Add missing pubspec params for bitcoin and bitcoin_cash * feat: Automated Tests for Transaction History Flow * fix: Add missing pubspec parameter * feat: Automated Integration Tests for Transaction History flow * test: Updating send page robot and also syncing branch with main * test: Modifying tests to flow with wallet grouping implementation * fix: Issue with transaction history test * fix: Modifications to the PR and add automated confirmation for checking that all wallet types are restored or created correctly * test: Attempting automation for testing * fix: Issue from merge conflicts * test: Remove automation of test in this PR --------- Co-authored-by: OmarHatem <omarh.ismail1@gmail.com> |