Commit Graph

82 Commits

Author SHA1 Message Date
Lukas Korba 0328beb36b ua-without-a-transparent-receiver
- Code refactored
- Changelog updated
- Each Receive screen access generates a new private UA (= the one without transparent receivers)
2025-05-14 12:34:29 +02:00
Lukas Korba c0757158b1 Batch of fixes and spanish 2025-04-25 13:33:12 +02:00
Lukas Korba fbe119040a Code cleaned up
- This is massive cleanup of all commented code from iOS 16 navigation changes
- A few fixes along the way
2025-04-19 09:47:02 +02:00
Lukas Korba 3b3eae9c83 Wallet backup flow 2025-04-18 16:31:39 +02:00
Lukas Korba 1f94c1480e Shielding refactored to be single source of truth 2025-04-18 10:18:04 +02:00
Lukas Korba e567577651 Smart Banner logic alpha version
- I believe most of the logic is done except syncing/recovery (waiting on rust fix)
2025-04-17 08:30:37 +02:00
Lukas Korba b2adf66ef2 Smart Banner draft
- SmartBanner object for the Home page basic logic prepared

Smart banner on a home page

- UI done for the widget itself
- Sheets done for the help for the states
- Business logic done for all except auto-shielding and shield button
- Local notifications dependency implemented
- Network checker dependency implemented
2025-04-17 08:30:37 +02:00
Lukas Korba 971a44317f [#1473] update Create Wallet flow 2025-04-17 08:30:37 +02:00
Lukas Korba aba41ab0ee [#1477] Restore wallet screen logic
[#1477] Update Restore Wallet flow

- Everything has been redesigned
- Estimation of Birthday height logic implemented
2025-04-17 08:30:37 +02:00
Lukas Korba 5ce9b0f5f0 Root subflows Batch 5
- All Keystone send/pay/confirm/shield flows implemented
2025-04-17 08:29:10 +02:00
Lukas Korba 013fa12b88 Root subflows Batch 4
- scan with sendings for all possible scenarios finished
- currency conversion path from home finished
- transaction details, list and seng again flows finished
2025-04-17 08:29:06 +02:00
Lukas Korba 450f995cd2 Root subflows Batch 3
- Scan WIP
- trasaction detail & manager WIP but maost of it is on a good track to be soon done
2025-04-17 08:29:06 +02:00
Lukas Korba 6514ae2a81 Root subflows Batch 2
- Add Keystone from Home's Account switcher implemented
- Add Keystone from Home's More... menu implemented
- Scan coord flow with all send flows implemented
2025-04-17 08:29:06 +02:00
Lukas Korba 545dbc8453 Root subflows Batch 1
- get some zec flow done
- receive flow done
- advanced settings & integrations done
- send coord flow prepared - WIP
2025-04-17 08:29:06 +02:00
Lukas Korba 867cd3e53c Subroot Stack navigation idea 2025-04-17 08:27:52 +02:00
Lukas Korba fcfca57eed Send flows WIP, mostly done 2025-04-17 08:27:52 +02:00
Lukas Korba 994ca3329a Another batch of updates, settings mostly done, KS flows WIP 2025-04-17 08:21:49 +02:00
Lukas Korba 63e28def20 PoC and first batch of overall re-write 2025-04-17 08:21:07 +02:00
Lukas Korba 1de5ac726d Another batch of navigational updates 2025-04-17 08:20:28 +02:00
Lukas Korba d123edf24b Draft of the new navigation system 2025-04-17 08:20:28 +02:00
Lukas Korba 0a3e59beba FIrebase removed from the project
- Firebase dependency removed
- CrashReporter dependency removed
- DSYm file upload removed
- Custom plist generation script removed
2025-04-08 12:50:48 +02:00
Lukas Korba f2ab4c85c9 Final metadata encryption keys code & fixes 2025-03-03 10:57:35 +01:00
Lukas Korba 4918bd610c UserMetadata functionality done
- The UM data load/store logic done
- The UM data reset logic done
- Simple remote backup system and restore from backup implemented
2025-02-24 15:10:44 +01:00
Lukas Korba 1f92b35737 UserMetadata entry point
- UM load the data logic prepared
- Integration's seek icons have an outline now
2025-02-17 12:50:03 +01:00
Lukas Korba 0865f3de2e Integrations keystone update
- some bugfix
- Integrations screen add keystone wallet flow added
2025-02-17 12:50:03 +01:00
Lukas Korba bd456cec80 Shared states for transactions and memos
- The logic around transactions have been fully refactored. The data are held by shared state only as a one source of truth
- The same idea has been done for on demand loaded memos
- The TransactionState is no longer required to be updated or copied because it doesn't carry any data and it's only an enriched version of ZcashTransaction.Overview for Zashi purposes
2025-02-17 12:50:03 +01:00
Lukas Korba 9f9683358d Texts localized 2025-02-17 12:50:03 +01:00
Lukas Korba 6454c5a7bf Stack navigations for all possible paths
- The code cleanup done, important for the maintenance of the new approach of transaction history
- Stack navigations for both possible path (detail from the home page directly or from the new manager screen with filters)
2025-02-17 12:47:36 +01:00
Lukas Korba 25430c323f Delete Zashi logic improved
- the SDK wipe is first with max 3 attempts to retry
- the App wipe is next
- the Keychain data delete is next with max 3 attempts to retry
- new alert view states added for delete stage errors
2025-02-06 13:42:17 +01:00
Lukas Korba 7df7a159b7 BUG: migration to a new device lets a user to fill the birthday 2025-01-10 12:44:39 +01:00
Lukas Korba d2ca2d0619 Address book zashi only
- AB is Zashi only
- RobotoMono font for the addresses
2024-12-11 11:01:13 +01:00
Lukas Korba 7ad3073c65 FFI adoption
- AccountUUID fully adopted
- importAccount by ufvk implemented
- texts localized
2024-12-10 09:12:29 +01:00
Lukas Korba 407c9c69be Multi-account address book design
- Support for multi-account has been implemented for Address book
- Handling of all possible states and scenarios (empty AB, 1 vs. many wallet acounts, from Send form vs. from Settings) tested
2024-11-28 12:45:23 +01:00
Lukas Korba 09db171ed3 Add HW Wallet flow
- Deployment target bumped up to iOS 16
- Account switch navigation bar implemented
- Accounts sheet implemented
- Add Keystone HW wallet flow implemented
2024-11-28 09:41:57 +01:00
Lukas Korba 69368cf088 Zip32AccountIndex adoption 2024-11-26 08:35:44 +01:00
Lukas Korba ce7059a6cc SDK Account adoption
- accountIndex is not used anymore, refactored to SDK's Account
- shared state used so there is only 1 source of truth for the account
- The key for the chacged ABKeys is an Int, this could be a problem in the future
- Zip32Account addopted
2024-11-26 08:35:44 +01:00
Lukas Korba eccaf2a99a [#1419] Status page for keychain read failure
- OSStatusError screen implemented, UI is WIP
- Navigation + detection done
- Mocked failure for now

[#1419] Status page for keychain read failure

- finished UI layout, waiting on ES translation
- added contact support button
2024-11-20 19:18:56 +01:00
Lukas Korba 9871a1ad61 [#1368] Update Settings flows UI
- About
- Private data export
- Reset Zashi
- What’s New
- Recovery Phrase

[#1373] update buttons across the app and remove the grid pattern

- Send feedback finished

[#1373] update buttons across the app and remove the grid pattern

- All settings screens localized

[#1373] update buttons across the app and remove the grid pattern

- Recovery phrase screen prepared for onboarding

[#1368] Update Settings flows UI

- changelog updated

[#1368] Update Settings flows UI

- SDK bumped up to 2.2.5

[#1368] Update Settings flows UI

- Zasji testnet version bumped up

[#1368] Update Settings flows UI

- Rebased

[#1368] Update Settings flows UI

- tooltip for the birthday added

[#1368] Update Settings flows UI

- spacing

[#1368] Update Settings flows UI

- regenerated cleanup
2024-11-18 12:23:34 +01:00
Lukas Korba 32a49809cd [#1284] Flexa
- Flexa tested and fixes implemented on our side
- SDK numerator/denominator fixes WIP

[#1284] Flexa

- Total vs. Available balance handling
- Fixed freeze of Zashi by wrapping Flexa code into Task
- Prints cleanup

[#1284] Flexa

- SDK reverted to 2.2.3

[#1284] Flexa

- rebased

[#1284] Flexa

- Initialization moved to the Integrations screen

[#1284] Flexa

- simple feature flaggins system implemented
- flexa is behind the feature flags, hidden in the production & testnet builds, available for internal builds

[#1284] Flexa

- flexa seek logo added to the integrations screen

[#1284] Flexa

- fixes

[#1284] Flexa

- versions bumped up

[#1284] Flexa

- versions cleanup

[#1284] Flexa

- live vs. test Flexa keys support

[#1284] Flexa

- Versions

[#1284] Flexa

- WIP

[#1284] Flexa

- disconnect a user after reset zashi

[#1284] Flexa

- ZEC logo in Flexa
- shielded balance instead of total balance

[#1284] Flexa

- code cleanup
2024-11-12 10:44:18 +01:00
Lukas Korba b1e790c49e warnings-cleanup
- The Zashi project finally cleaned up and addressed all warnings, as a result, build of the project has a 0 warnings
2024-10-23 19:40:53 +02:00
Lukas Korba 60ec66ee91 [#1375] App launch protected by device authentication method
- authentication added to the app start pipeline
- it's triggered for all fresh app launches
- it's required after 15minutes after cold starts
- recognizes available auth method and reflects it in the UI

[#1375] App launch protected by device authentication method

- final UI for the re-authenticate

[#1375] App launch protected by device authentication method

- Changelog updated
- Texts localized
2024-10-17 20:44:32 +02:00
Lukas Korba 0a603b0dad [#1284] Flexa
- Flexa tested and fixes implemented on our side
- SDK numerator/denominator fixes WIP

[#1284] Flexa

- Total vs. Available balance handling
- Fixed freeze of Zashi by wrapping Flexa code into Task
- Prints cleanup

[#1284] Flexa

- SDK reverted to 2.2.3

[#1284] Flexa

- rebased

[#1284] Flexa

- Initialization moved to the Integrations screen

[#1284] Flexa

- simple feature flaggins system implemented
- flexa is behind the feature flags, hidden in the production & testnet builds, available for internal builds

[#1284] Flexa

- flexa seek logo added to the integrations screen

[#1284] Flexa

- fixes
2024-10-15 20:28:30 +02:00
Lukas Korba 510b4c054d [#1358] build Request ZEC flow
- zip321 payment uri is generated in a form or a QR code, can be shared or terminated

[#1358] build Request ZEC flow

- code clean up

[#1358] build Request ZEC flow

- ZecKeyboard fixes or reported issues
- REQUEST title for the whole screen fix
- Padding wixes in the request zec flow

[#1358] build Request ZEC flow

- Consumer part of the request zec implemented
- The code is scanned and dedicated confirmation screen is shown
- When system camera is used, the blocking view is shown
- zcash: scheme activated for Zashi

[#1358] build Request ZEC flow

- The code is finished for the request zec (both generate & scan) except localized texts (it'll be done in a separate PR)

[#1358] build Request ZEC flow

- final UI touches
2024-10-03 17:55:51 +02:00
Lukas Korba 3e704537ad [#1341] add address book feature
- Initial screens for the feature done

[#1341] add address book feature

- partially redesigned to final designs
- edit updated to work without swipe over the contact

[#1341] add address book feature

- Package.resolved updated

[#1341] add address book feature

- Package.resolved update

[#1341] add address book feature

- ZashiButton component done
- Latest design for some screens
- Send screen facelift

[#1341] add address book feature

- Scan view redesigned
- Tweaks of layouts, error handlings for the fields, etc.

[#1341] add address book feature

- Another batch of tweaks and finalizations for Address Book

[#1341] add address book feature

- AddressBook finished, testing starts
- New Zashi internal target added to distribute the app

[#1341] add address book feature

- package update

[#1341] add address book feature

- Testing & Debugging
- fix: card for add new address is always visible
- fix: done button associated with the keyboard is now fully custom solution
- fix: memo field broken input

[#1341] add address book feature

- modifier for the fonts and styles

[#1341] add address book feature

- Modifier for the screen horizontal padding

[#1341] add address book feature

- All Address book texts localized

[#1341] add address book feature

- Archivo removed from the project and all instances replaced with Inter

[#1341] add address book feature

- All images refactored to use DesignSystem's modifiers

[#1341] add address book feature

- fixes + design system refactors
- transaction history revamp

[#1341] add address book feature

- Package.resolve update

[#1341] add address book feature

- Scan screen redesigned

[#1341] add address book feature

- QR code scan navigation fixed

[#1341] add address book feature

- ZashiButton tap area fix
- Auto-focuses in Add New Contact implemented

[#1341] add address book feature

- ScanView design tweaks
- Address is not in address book redesigned to hint that dismisses automatically after 3s

[#1341] add address book feature

- zImage

[#1341] add address book feature

- build fixes
2024-09-27 08:18:48 +02:00
Lukas Korba 37c976499f [#1284] Flexa integration
- implemented POC for server check in Zashi, adopted SDK with the feature

[#1237] Choose the best server by testing responses from multiple server hosts

- Logic has been updated to deliver all requirements
- UI has been upgraded to reflect latest and new design

[#1237] Choose the best server by testing responses from multiple server hosts

- inverted tint if needed implemented for the progress view

[#1237] Choose the best server by testing responses from multiple server hosts

- Rebased

[#937] Shielded transaction UI

- The TransactionState has been extended to handle shielding
- The UI for the transaction row has been extended to handle right states for all types of transactions, newly for shielding, shielded and shielding failed

[#937] Shielded transaction UI

- Rebased and updated to the latest API

[#937] Shielded transaction UI

- WIP

[#937] Shielded transaction UI

- Shileding UI updated to show amount the same way as sent/received
- Shielding UI updated to show ID

[#1337] update UI of the Settings and Advanced Settings screens

- settings WIP

[#1337] update UI of the Settings and Advanced Settings screens

- Changelog updated
- Design is finalized for both Settings and Advanced Settings

design-system

- POC done
- All Colors added/implemented
- first set of variables implemented

design-system

- Color names made unique
- CurrencyConversion screen refactored to use new design system colors
- Currency conversion colors removed from the catalogue

design-system

- Variables made for the Utilities (all of them are missing aliases in Figma so it's just prepared except a few I updated myself)
- ServerSwitch refactored to use design system
- error and primary tint updated to use design system

design-system

- Utility variables finished
- Server switch refactored to the latest design system variables

tca-deprecation-resolution

- All reducers have been updated to use @Reducer macro
- All scopes have been updated to use \. case path
- All destinations have been updated to use new Bindings

tca-deprecation-resolution

- @DependencyClient macro used for all dependencies
- Unit tests fixed

shared-state

- POC

shared-state

- Exchange rate is now handled by TCA's shared state

shared-state

- Hide balances feature has been refactored using TCA's shared state
- It's no longer treated as "hide balances" but rather "hide sensitive data" because we will add a few more things to it besides balances in the near future
- Previous approach with Combine's subject and TCA's dependency have been removed from Zashi

[#1284] Flexa integration

- WIP

[#1284] Flexa integration

- Some progress, I'm able to create an account and pass the verification
- WIP: Dealing with no assets issue

[#1284] Flexa integration

- AccountId used for the start of Flexa

[#1284] Flexa integration

- onTransactionrequest connected to the TCA

[#1284] Flexa integration

- Version bumped to 1.0.1

[#1284] Flexa integration

- Rebased and updated for the latest design

[#1284] Flexa integration

- Settings remade to have a new navigational path for all Integrations, Flexa is among them

[#1284] Flexa integration

- SettingsRow supports a description if needed

[#1284] Flexa integration

- WalletStatus updated to be handled by TCA's Shared state so it can be used to determine when Flexa is available and when it's not

[#1284] Flexa integration

- Handling of restoring status in the integrations

[#1284] Flexa integration

- Payment flow finalized, testing the functionality, cleanup needed

[#1284] Flexa integration

- code cleanup after rebase

[#1284] Flexa integration

- Code cleanup

[#1284] Flexa integration

- Flexa key handled by PartnerKeys

[#1284] Flexa integration

- Accountid generated only once until Zashi is deleted

[#1284] Flexa integration

- Package.resolved

[#1284] Flexa integration

- Version bumped up to 1.0.2
- Total balance ditched and replaced with available balance
- Start of the Flexa uses the latest known balance
2024-09-26 14:10:02 +02:00
Lukas Korba 006b57fff7 shared-state
- implemented POC for server check in Zashi, adopted SDK with the feature

[#1237] Choose the best server by testing responses from multiple server hosts

- Logic has been updated to deliver all requirements
- UI has been upgraded to reflect latest and new design

[#1237] Choose the best server by testing responses from multiple server hosts

- inverted tint if needed implemented for the progress view

[#1237] Choose the best server by testing responses from multiple server hosts

- Rebased

[#937] Shielded transaction UI

- The TransactionState has been extended to handle shielding
- The UI for the transaction row has been extended to handle right states for all types of transactions, newly for shielding, shielded and shielding failed

[#937] Shielded transaction UI

- Rebased and updated to the latest API

[#937] Shielded transaction UI

- WIP

[#937] Shielded transaction UI

- Shileding UI updated to show amount the same way as sent/received
- Shielding UI updated to show ID

[#1337] update UI of the Settings and Advanced Settings screens

- settings WIP

[#1337] update UI of the Settings and Advanced Settings screens

- Changelog updated
- Design is finalized for both Settings and Advanced Settings

design-system

- POC done
- All Colors added/implemented
- first set of variables implemented

design-system

- Color names made unique
- CurrencyConversion screen refactored to use new design system colors
- Currency conversion colors removed from the catalogue

design-system

- Variables made for the Utilities (all of them are missing aliases in Figma so it's just prepared except a few I updated myself)
- ServerSwitch refactored to use design system
- error and primary tint updated to use design system

design-system

- Utility variables finished
- Server switch refactored to the latest design system variables

tca-deprecation-resolution

- All reducers have been updated to use @Reducer macro
- All scopes have been updated to use \. case path
- All destinations have been updated to use new Bindings

tca-deprecation-resolution

- @DependencyClient macro used for all dependencies
- Unit tests fixed

shared-state

- POC

shared-state

- Exchange rate is now handled by TCA's shared state

shared-state

- Hide balances feature has been refactored using TCA's shared state
- It's no longer treated as "hide balances" but rather "hide sensitive data" because we will add a few more things to it besides balances in the near future
- Previous approach with Combine's subject and TCA's dependency have been removed from Zashi

shared-state

- removed unused file

shared-state

- code cleanup

shared-state

- code cleanup

shared-state

- build fixed
2024-09-09 11:35:31 +02:00
Lukas Korba 8a760bdc99 server-checks
- implemented POC for server check in Zashi, adopted SDK with the feature

[#1237] Choose the best server by testing responses from multiple server hosts

- Logic has been updated to deliver all requirements
- UI has been upgraded to reflect latest and new design

[#1237] Choose the best server by testing responses from multiple server hosts

- inverted tint if needed implemented for the progress view

[#1237] Choose the best server by testing responses from multiple server hosts

- Rebased

[#937] Shielded transaction UI

- The TransactionState has been extended to handle shielding
- The UI for the transaction row has been extended to handle right states for all types of transactions, newly for shielding, shielded and shielding failed

[#937] Shielded transaction UI

- Rebased and updated to the latest API

[#937] Shielded transaction UI

- WIP

[#937] Shielded transaction UI

- Shileding UI updated to show amount the same way as sent/received
- Shielding UI updated to show ID

[#1337] update UI of the Settings and Advanced Settings screens

- settings WIP

[#1337] update UI of the Settings and Advanced Settings screens

- Changelog updated
- Design is finalized for both Settings and Advanced Settings

tca-deprecation-resolution

- All reducers have been updated to use @Reducer macro
- All scopes have been updated to use \. case path
- All destinations have been updated to use new Bindings

tca-deprecation-resolution

- @DependencyClient macro used for all dependencies
- Unit tests fixed

tca-deprecation-update

- cleanup

tca-navigation-update

- cleanup of : Reducer

tca-navigation-update

- code cleanup
2024-09-09 10:22:11 +02:00
Lukas Korba 11746dfbfe [#1238] display USD value in addition to ZEC value in the app UI
- WalletBalances now can handle currency conversion with respect to the system's locale settings

[#1238] display USD value in addition to ZEC value in the app UI

- WIP
- the input fields have been completely reworked

[#1238] display USD value in addition to ZEC value in the app UI

- QR scan button is back in the address field

[#1238] display USD value in addition to ZEC value in the app UI

- Prefix views for the inputs implemented
- Titles for the inputs implemented
- Error messages for the inputs implemented

- Hide balances support
- Send Confirmation enhancements

[#1238] display USD value in addition to ZEC value in the app UI

- Confirmation screen shows the currency value defined in the Send screen

[#1238] display USD value in addition to ZEC value in the app UI

- Exchange rate design implemented
- Custom tooltip implemented and used for cases when the rate is not available or stale

[#1238] display USD value in addition to ZEC value in the app UI

- cleanup and last fixes
2024-08-07 09:56:07 +02:00
Lukas Korba edc8b5a09a [#1308] Upgrade ExportLogsReducer to the latest TCA
- ExportLogsReducer has been refactored to @Reducer ExportLogs
2024-06-21 10:42:53 +02:00
Lukas Korba 6e07c064d3 [#1302] Upgrade RootReducer to the latest TCA
- Initial draft done

[#1302] Upgrade RootReducer to the latest TCA

- RootReducer has been refactored to the @Reducer Root
- All unit tests have been refactored as well

[#1302] Upgrade RootReducer to the latest TCA

- Code cleanup
2024-06-20 08:17:08 +02:00