Commit Graph

76 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 8081ab7478 Fixes for the feedback 2025-04-22 16:22: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 1f94c1480e Shielding refactored to be single source of truth 2025-04-18 10:18:04 +02:00
Lukas Korba 6fdeb8d553 Balances sheet and TOR connection
- SDK bumped to version with TOR connection used
- Balances sheet with spendable component implemented
2025-04-17 08:33:00 +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 76fb5c49fb Shielding processor and Adoption of scan & recovery progresses 2025-04-17 08:30:37 +02:00
Lukas Korba fcfca57eed Send flows WIP, mostly done 2025-04-17 08:27:52 +02:00
Lukas Korba e8fd680593 Cross-platform metadata compatibility 2025-03-03 14:03:07 +01: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 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 ebcbd04e18 UserMetadataProvider
- UserMetadataProvider prepared and connected to the Zashi's bookmarking and annotations
2025-02-17 12:50:03 +01:00
Lukas Korba 67576e5e53 Bunch of tweaks, enhancements and fixes
- focus on polishing details
- bookmarking (in memory data atm)
- add a note (in memory atm)
2025-02-17 12:50:03 +01:00
Lukas Korba 15d929af3e Time periods
- the list of transactions is now divided into time periods
- ability to hide balances in the transactions and the detail of a transaction
2025-02-17 12:48:29 +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 00f60bac9c Empty and home page history redesigned
- The empty state redesigned
- The up to 5 transactions state has been implemented with see all option
2025-02-17 12:47:36 +01:00
Lukas Korba d10c8c0a93 BUG: Appearance colors when mode changed
- The determination of what color is used i now handled by SwiftUI's colorScheme instead of a trait
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 3a5660183a deriveUnifiedAddressFromUfvk adoption
- Plus very first connection between KS and Zashi confirmed and tested
- transaction history now filters based on UUID
2024-12-10 13:08:21 +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 c4f854d720 Final design Vol 1
- This is supposed to be final design changes, according to 2024-1-03 state
2024-12-03 14:43:25 +01:00
Lukas Korba 23117d9ae9 WalletAccount UA
- The address string for the UI must be taken somewhere, the ideal source of truth is the account itself. The flow here is to load list of accounts without addresses ("") and fill it in later. Due to the nature of bindings in UI, it will reflect it.
2024-12-03 09:57:03 +01:00
Lukas Korba 20d7660a25 Receive tab multi-account support
- Receive tab has been extended to support HW wallet accounts
- QR code generator and logos have been updated to support multi-account
2024-11-29 10:56:59 +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 6aa8a93f9b Flexa 1.0.7
- Flexa version bumped to 1.0.7 and adopted
- Changelog updated
- What's new updated
2024-11-25 08:54:10 +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 e0c56e4424 Fix for the derive key
- The `encryption_key` info needed to be added so Android can decrypt the file
2024-11-18 12:23:34 +01:00
Lukas Korba c7c3c71e32 Encryption of the AddressBook by the agreed design
- Code cleaned up and refactored to clearly divide unencrypted from encrypted
- Migration of unencrypted AB data to the encrypted implemented
- Deletion of the unencrypted file implemented
- Filename for the address book data file derive method implemented
2024-11-18 12:23:34 +01:00
Lukas Korba 437e09d83e Migration and remote storage
- Migration from v1 to 2 implemented
- Remote storage activated
- Merge strategy implemented
- Zashi internal setup to use the same remote container
2024-11-18 12:23:34 +01:00
Jack Grigg 070a261da9 Implement AddressBook encryption 2024-11-18 12:23:34 +01:00
Lukas Korba b508c38cb9 Fixes and improvements
- bugfix after testing
- sending json for the light/dark mode
- hola for the spanish HI

FFI-preview

- code cleaned up
- FFI bumped up
2024-11-18 12:23:34 +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 9083920202 [#1377] Add UA to memo
- Checkbox for the UA being included to the memo implemented

[#1377] Add UA to memo

- Select text made as a separate and independent feature with final design and its own feature flag

[#1377] Add UA to memo

- design modified to encapsulate in a rounded background even the memoBytes label

[#1377] Add UA to memo

- Changelog updated
2024-11-11 14:36:24 +01:00
Lukas Korba 17542b2877 [#1390] Send flow with success and error screens
- Send flow enhanced to go through sending screen followed by some of the result screens

[#1390] Send flow with success and error screens

- Ilustrations are now randomly picked
- refactor of nuke wallet -> reset zashi
- Flexa account is closed when reset zashi is used
- Resubmission error handling
2024-11-04 21:44:54 +01:00
Lukas Korba aedf3503af feature_flags_per_config
- Feature flags are now initialized following specific build configs
2024-10-24 17:39:07 +02:00
Lukas Korba a7cd5d327f Release 1.2.2 fixes
- Address book alias reset fix
- Request zec send navigation dismissal fix
- Feature flagging for the production build fixed
- changelog updated
2024-10-23 12:50:29 +02:00
Lukas Korba 10bbab6661 [#1379] Improve the logic for displaying the shield icon in the Transaction History
- A shield icon is no longer presented for received transactions to a transparent pool.
2024-10-19 13:01:32 +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 a85c749cc7 [#1363] Binary address book serialization
- Local storage for address book is now primary source of data
- Remote storage for address book is used as a backup, syncing is prepared and merge strategy is WIP
- The data serialization/deserialization is prepared, no encryption in place
- The data are versioned and checked
- lastUpdated data are stored as well
- Keychain stores a struct for encryption, in case there is more than just 1 key

[#1363] Binary address book serialization

- Subject cleanup

[#1363] Binary address book serialization

- padding of the currency field fixed
2024-10-03 18:29:34 +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 8b0791d86b [#1341] remote storage for address book
- iCloud support implemented for the address book storage
- The dependency is prepared for encryption
2024-09-27 13:44:14 +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 cbad754a0b [#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

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

- Package.resolved fixes

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

- Cleanup after rebase

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

- Header fixes

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

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

[#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

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

- Package.resolved fixes

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

- Cleanup after rebase

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

- Header fixes

[#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

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

- Package.resolved fixes

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

- Cleanup after rebase

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

- Header fixes

design-system

- versions bumped up

Revert "[#937] Shielded transaction UI"

This reverts commit 6e50461c88165b581111f7af89a319a1125b5059.

design-system

- V2 colors removed
2024-09-09 09:49:19 +02:00
Lukas Korba 16d51ea716 [#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

[#937] Shielded transaction UI

- Duplicated code is removed, happened probably due to some rebases

[#937] Shielded transaction UI

- Code cleanup
2024-09-09 09:12:26 +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