- 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
- View transaction button is now connected to a flow for presentation of the details screen of a transaction with ability to save the address
- The screen is then dismissed to the home page (won't return back to the result screen)
- 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)
- the buttons in the Keystone flows have been swapped for a better UX, main CTA is the closes one to a thumb
- Confirmation dialog when a transaction reject is required added.
- 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
- The main thread load has been optimized, the camera feed no longer overloads the TCA side effects
- New error page for possible scenarios when the PCZT logic fails
FIXED:
- When KS was selected and Zashi reseted, the next restored wallet showed KS account even though none was added
- Addresses were cached when reset Zashi happened so it was showing the same address over and over again
- 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.
- The Send has been extended to split paths during review & confirmation into regular Zashi path and HW path
- Stacked flow for the KS sign signature done
- 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
- 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
- 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
- A disclaimer implemented for the Integrations screen
- Text localized to both EN and ES (final ES will be replaced before this PR is merged)
- CHangelog updated
- 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
[#1284] Flexa
- version bumped to 1.0.6
- changelog updated
- Flexa icon changed from Optional to strong reference in FlexaSDK, updated the code to fallback to blank image if the ZEC logo is not found
- All AddressBookClient operations have been updated to return a remote store result
- Undefined Behaviour resolved for byte load operation
- Typos fixed
- 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