Commit Graph

27 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 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 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 1f7df3c84d FFI' redactPCZTForSigner adopted
- Plus code cleanup after rebase
2025-02-17 14:39:13 +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 c4e7ef9569 Notes UI prepared and search memos
- searching in memos done (SDK changes adopted)
- notes UI and flow implemented and prepared, storage is needed to enjoy full experience
2025-02-17 12:50:03 +01:00
Lukas Korba 9c249a027d Shielding flow and API update
- the flow for sending has been updated to shielding texts - locallized
- API of the synchronizer adopted and updated
2024-12-16 13:13:03 +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 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 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 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 c9bfeb5419 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

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

- SDK updated to 2.2.2

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

- Update the public API
2024-09-06 12:17:43 +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 8ded02ac19 [#1286] Speed up transations list load
- Deduplication of memos implemented
- On-demand load of memos implemented
- Starting pipeline optimized to use HI screen for a short of time and initiate load of transactions during it

[#1286] Speed up transations list load

- SDK version bumped up to 2.1.8

[#1286] Speed up transations list load

- cleanup
2024-05-30 13:52:49 +02:00
Lukas Korba 1d7d5426d4 [#1254] Refresh balances immediately after send
- The balances are proactively refreshed immediately after send or shield proposals are processed
- I also noticed wrong color of disabled message box when sending to transparent address so it's been fixed in this PR as well

[#1254] Refresh balances immediately after send

- unit tests fixed
2024-05-07 13:52:27 +02:00
Lukas Korba 3e6afc69a8 [#1024] KeysMissing when restored to a new iPhone
- validation flow done for the 2 out of 3 flows
- 1. when the restore path is selected and the seed doesn't match the DB
- 2. when create new wallet is selected
- (missing) 3. seed is validated (waiting on API)

[#1024] KeysMissing when restored to a new iPhone

- preparations for SDK 2.1.0

[#1024] KeysMissing when restored to a new iPhone

- Seed validation API used and integrated
- There's an error in rust that must be resolved first

[#1024] KeysMissing when restored to a new iPhone

- rebased

[#1024] KeysMissing when restored to a new iPhone

- updated to use latest SDK's isSeedRelevantToAnyDerivedAccount

[#1024] KeysMissing when restored to a new iPhone

- unstable SDK branch test

[#1024] KeysMissing when restored to a new iPhone

- version bump

[#1024] KeysMissing when restored to a new iPhone

- bugfix
- packae redirected to ECCs repo

[#1024] KeysMissing when restored to a new iPhone

- tests fixed
2024-03-26 18:24:49 +01:00
Lukas Korba 28a88a9a1e [#1092] Adopt proposal API
- TCA sdkSYnchronizer dependency extended with 3 new Proposal APIs
- proposeTransfer tested, works as expected

[#1092] Adopt proposal API

- send transaction via new proposal API implemented

[#1092] Adopt proposal API

- code cleaned up and finished

[#1092] Adopt proposal API

- unit tests fixed

[#1092] Adopt proposal API

- Typical Fee < 0.001 localized and updated in the UI

[#1092] Adopt proposal API

- awaiting all transaction results with use of new proposal.transactionCount() method

[#1092] Adopt proposal API

- Implemented new PartialProposalError reducer and view
- Contact support mail with transaction IDs logic implemented
- Fallback to share logic implemented
- PPE integrated into SendFlow
- PPE integrated into Shielding

[#1092] Adopt proposal API

- Changelog updated

[#1092] Adopt proposal API

- SDK's fee constant removed

[#1092] Adopt proposal API (#1117)

- debug code reverted

[#1092] Adopt proposal API (#1117)

- copy change

[#1092] Adopt proposal API (#1117)

- code cleanup

[#1092] Adopt proposal API (#1117)

- proposed total fee

[#1092] Adopt proposal API (#1117)

- Final copy

[#1092] Adopt proposal API (#1117)

- Transaction statuses added

[#1092] Adopt proposal API (#1117)

- tests fixed
2024-03-20 09:51:29 +01:00
Lukas Korba ec6e082938 [#1028] Runtime switch of lightwalletd servers
- prototype of the solution implemented

[#1028] Runtime switch of lightwalletd servers

- error handling done
- localized all new texts
- custom server resolved with all possible parsing states
- persistency of selected server done

[#1028] Runtime switch of lightwalletd servers (#1044)

- changelog update

[#1028] Runtime switch of lightwalletd servers (#1044)

- Unfortunately the compiler has a bug so Circular reference error is not possible to solve, Apple fixed reported issue from October 2023 last week so we should expect fix in Xcode 15.3, beta is released but still no fix. Until that moment I moved placeholders to the view and will move it back to the stores once the issue is resolved

[#1028] Runtime switch of lightwalletd servers (#1044)

- adoption of SDK 2.0.10

[#1028] Runtime switch of lightwalletd servers (#1044)

- comments addressed
2024-02-14 11:10:31 +01:00
Lukas Korba f546c9d8f5 [#932] Pending balances
- adopted new SDK with the AccountBalance values
- unit tests refactored
- use of SynchronizerState refactored
- failed transactions sort changed to put failed around the timestamp it failed (expiredHeight used)

[#932] Pending balances

- SDK version bump

[#932] Pending balances

- changelog updated

[#932] Pending balances

- addressed comments for the sort

[#932] Pending balances (#1018)

- unit tests fixed
- sort updated
2024-02-01 17:50:54 -08:00
Lukas Korba 4f3a5f7270
[#928] Balances screen UI (#942)
- the new layout implemented
- some of the functionality is not done yet because it's not supported in the SDK or some design is still WIP - TODOs added at related places
- result of shielding (the transaction) is automatically added to the list of transactions so the UX is seamless
- localized texts refactored
- unit tests done
2023-11-27 10:04:51 +01:00
Lukas Korba 34f0077604
[#887] UI tweaks for transactions on Home (#890)
- Concept of WalletEvents removed and replaced with TransactionState and TransactionList
- UI updated to enable list of transactions and expansion with the details
- Color naming cleanups and refactors
- Conditional font modifier implemented
- Conditional strikethrough modifier implemented
- Title + tests of the title for the transaction implemented
- Color + tests for the title of the transaction implemented
- All texts localized
- tests fot the TCA TransactionList implemented
2023-11-13 11:28:43 +01:00
Lukas Korba feb4ab4eaf
[#820] Adopt SDK sbs-rc1 (#821)
- adopted SDK 2.0.0 RC1 with the Spend-before-Sync
- fixed how memo is selected out of the array of memos (.text is picked, .empty ignored)
2023-09-14 17:10:46 +02:00
Lukas Korba e2502075e0
[#754] Structure for modules (#755)
- the modules are now in folders
2023-05-31 09:49:37 +02:00