- full screen cover for the balance breakdown
- clearing out the background so we can do semi transparency
- bindings for the full screen cover
[224] [Scaffold] Balance Breakdown
- draft of UI
[224] [Scaffold] Balance Breakdown
- latest block business logic
- mocked auto shielding threshold
- unit tests
- snapshot tests
[224] [Scaffold] Balance Breakdown (412)
- comments resolved
- bigger refactor of the synchronizer, taking advantage of SynchronizerState being reported every time .synced pass
- unit tests fixed and refactored
[224] [Scaffold] Balance Breakdown (412)
- ClearBackgroundView documented, reference to the proposed solution added
Following dependencies refactored to await/async
- RecoveryPhraseValidationFlowReducer
- RecoveryPhraseDisplayStore
- AppStore
- UserPreferencesStorage
- WrappedUserDefaults
which allowed to reduce imports of Combine/TCA
- MultiLineTextField Store & View implemented
- memo char limit is set from the zcash sdk environment
- fixed tests
- unit tests for the multiline textfield
- send flow form validity unit tests extended to cover memo char limit
- rescan blockchain feature
- backup phrase feature
- system (biometrics) authentication dependency implemented
- unit tests
- snapshot tests
[75] [Scaffold] Settings Screen
- rescan cleanup
[75] [Scaffold] Settings Screen
- quick and full rescan reset to home screen unit tests
[75] [Scaffold] Settings Screen (398)
- biometrics (touch ID, face ID) preferred, passcode is fallback, when no protection is set, we let users go to the sensitive content
- initial frame connected to available data (progress)
- zboto balance
- $ balance
- inner / outer progress logic
- isDownloading and isUpToDate controls added
- outer circle parametrical solution implemented
- unit tests fixed
- SyncStatusSnapshot implemented
- snapshot tests
[102] [Functional] Full Wallet History
- latest design updates
- solved issue with the List and accessory views
[102] [Functional] Full Wallet History
- fixes for the 'all' button
- reduced actions for the detail binding
[102] [Functional] Full Wallet History
- padding fixes (all events are visible)
- home screen drawer's height set to show 3 events on screen
[102] [Functional] Full Wallet History
- final UI for all states of transaction for rows
- Lottie package added
- Lottie animation for the pending transaction added
[102] [Functional] Full Wallet History
- snapshot tests cleaned up and refactored
- snapshotting all 4 types of transaction wallet events rows (sent, pending, received, failed)
[102] [Functional] Full Wallet History (393)
- Rubik fonts
[102] [Functional] Full Wallet History (393)
- leading padding fixed
- UITableView appearance moved to onAppear()
[153] [Scaffold] Progress Status Circular Bar (#389)
- rebased
- the view holding all requested (mocked) data is prepared
- copy to pasteboard implemented
- deeplink 'reply-to' memo implemented
- view online implemented and button visible only when the URL is valid
- asset colors for the texts
- unit tests
- snapshot tests
- concept of activities instead of transactions
- the drawer is now fully universal and data driven, rendering some View, going to some detail View
- unit tests work again
- refactor of Activity -> WalletEvent
- WalletEvent view builders simplified
- transactions & wallet events timestamps instead of Date type
- review comments resolved
- missing 'Transactions' terms updated to 'WalletEvents'
- The app responds to openURL scheme starting with zcash://
- The currently implemented routes:
home
send :no parameters provided
send: amount
send: amount, address
send: amount, address and memo
- making the DeeplinkManager fully independent from the AppAction
- the app processes the deeplink only when fully capable of (initialized and synced) for now
- unit tests
- support for the zcash:{address} format
- recovery phrase randomizer & wrapper
- did finish launching -> initialized wallet test
- cleanup of static dependencies
- did finish launching -> keys missing integration test
- did finish launching -> uninitialized integration test
- database files were missing, mocked to behave like it's available
- key missing test fix, the database files were missing too => mocked to act like being present
- Int64+Zcash.swift and Double+Zcash.swift removed
- Balances and amounts updated to use Zatoshi
- Remove TODOs
- Tests updated
- FIXED: Send amount being in Zatoshi is clamping $ value to 21M max -> send amount input is no longer Zatoshi typed
[329] Update wallet to use Zatoshi type (333)
- alphabetical order(s)
[329] Update wallet to use Zatoshi type (333)
- static .zero for the Zatoshi
- conformance to Equatable moved to extension
[329] Update wallet to use Zatoshi type (333)
- small improvement by reducing code duplicity
- added words counter X/24
- added input for the birthday
- all kinds of validity check implemented
- unit tests for the whole import wallet business logic implemented
[301] Import Wallet does not have a Birthday input field (328)
- support for the birthday to be optional input
[301] Import Wallet does not have a Birthday input field (328)
- Int -> BlockHeight refactor
- scan UI view
- UI representable
- scaffold of scan view
- rect of interest support
- simple URI parser and validator
- tests
[106] [Scaffold] Scan QR Screen
- scan status added
- scan status tests
[106] [Scaffold] Scan QR Screen
- custom back button added
[106] [Scaffold] Scan QR Screen
- fixed typo
[106] [Scaffold] Scan QR Screen (321)
- valid vs. invalid code part of the enum
[106] [Scaffold] Scan QR Screen (321)
- refactor
[106] [Scaffold] Scan QR Screen (321)
- cleanup
[106] [Scaffold] Scan QR Screen (321)
- review comments solved
- some improvements added
- firing the valid qr code after 1s
[106] [Scaffold] Scan QR Screen (321)
- tests fixed
- onAppear test added
- print() cleanup
[106] [Scaffold] Scan QR Screen (321)
- wrapped audio services
- vibrate when QR found
- alphabetical order of environmental parameters
- AVCaptureSession stopRunning explicit call, probably handled by AVCaptureSession itself but I didn't find proof
- QRCodeScanView simplified and cleaned up
[106] [Scaffold] Scan QR Screen (321)
- URIParser added to the project
[#306] Release build is broken because placeholder is not compiled
[#215] Warning: Non-constant range: argument must be an integer literal
Fix comment spacing warning
Closes#258
this checks that when the user taps the finished button on the phrase displayed it has definitely not passed the test before going to the recovery flow.
Note: this should actually go to the next or previous screen according to the context.
That should be taken into consideration when implementing the profile screen that takes the user to the phrase diplay screen from that context.
Add //TODO comment with the permanent fix for the problem
* Single Line Text Field
* add TODO comment to secant/Util/Strings.swift
Issue #245 comments the changes needed
Co-authored-by: Francisco Gindre <francisco.gindre@gmail.com>
debug menus are accessible starting on welcome screen following 2 steps:
1. long press (0.75s)
2. swipe up/down to access either home/startup
cleanup
Debug menus connected
Also fixed the App flow
* AppDelegate connected
* Initialisation of the app and checks in place
* cleanup
* switch-default purpose commented
* checkWalletInitialisation simplified
* initialisation -> initialization
Initial user preferences storage
refactor of one comment
handling defaults
singleton removed
support for the defaults
alphabetical sort
standard user defaults set by default
unit tests added
for-each to cover all cases
project fix
The RecoveryPhraseStorage is an implementation of KeyStoring protocol. The unit tests are testing the keychain functionality to ensure security and proper error handling.
Refactor
All comments from the PR have been incorporated
Another batch of comment updates
thx Adam!
alphabetical order
refactored to private extension
Update secant/Util/RecoveryPhraseStorage.swift
Update secant/Util/RecoveryPhraseStorage.swift
cleanup
refactor and cleanup
setData refactor
Updated to the latest requirements
The KeyStoring implementation now relies on JSON (encoded) storing version, seed phrase and birthday.
method separation
fixed typo
functions documented
typo and warnings fixed
Mock services removed
the file and the content is not used anywhere, once we will need some mocks, we will implement it
RecoveryPhraseStorage singleton removed
Language added to the storage
Co-Authored-By: Adam <adam@olemae.com>
MnemonicSwift SPM added + implementation of the MnemonicSeedPhraseHandling protocol
TCA syntax for the MnemonicSeedPhaseProvider
swiftlint disable not needed anymore
double space fixed
The badge is now in full control of SwiftUI code, the background rounded rect + colors and on top of that is the symbol itself driven by enum
badges updated to the latest design
The .animation( is causing a visual issue in the views stack, the progress bar is animated to the bottom position. if we want easyInOut animation, we need to find a proper solution