Commit Graph

179 Commits

Author SHA1 Message Date
Lukas Korba 4c36aa39a2
[#404] Update to ComposableArchitecture 0.39.0 (#406)
- library updated
- all `Failed to produce diagnostics for expression` fixed
2022-08-09 09:51:40 -07:00
Lukas Korba 4f029e0ba4
[146] [UI Component] multiple line textfield (#400)
- 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
2022-08-02 08:07:03 +02:00
Francisco Gindre 0494af83eb [#399] Secant Design Review build 0.0.1-34
*0.0.1 build 34*
- [#75] [Scaffold] Settings Screen (#398)
- [#394] adopt ZcashLightClientKit 0.16.x-beta (#397)
2022-07-21 15:07:19 -03:00
Lukas Korba f064fa868d
[#75] [Scaffold] Settings Screen (#398)
- 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
2022-07-21 14:30:02 -03:00
Francisco Gindre 63554b7408
[#394] adopt ZcashLightClientKit 0.16.x-beta (#397)
Closes #394

This removes Zatoshi and Balance from the wallet codebase and relies on
the types present on the SDK.

point to master
2022-07-19 15:56:46 -03:00
Lukas Korba 5b158b9e72
[#102] [Functional] Full Wallet History
- 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
2022-07-08 15:27:18 -03:00
Lukas Korba 282fdbcdf0
[153] [Scaffold] Progress Status Circular Bar (#389)
- 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
2022-07-08 16:49:31 +02:00
Lukas Korba 59650d723d
[#73] [Scaffold] Profile Screen (#386)
- qr code generator
- qr, address and initial buttons in place

[73] [Scaffold] Profile Screen

- address details view placeholder
- navigation to address details view
- custom back
- app build + version from environment

[73] [Scaffold] Profile Screen

- unit tests

[73] [Scaffold] Profile Screen

- snapshot of the profile view

[73] [Scaffold] Profile Screen (386)

- comments resolved
- AppVersionHandler implemented
- sdkVersion also in the UI
- updated profile view design according to MVP requirements

[73] [Scaffold] Profile Screen (386)

- AppVersionHandler added to the repo
2022-07-06 13:54:30 -03:00
Lukas Korba 3d615a32d8
[#362] [scaffold] Pending Transaction Details (#381)
- transaction detail has been cut into pieces that can be composed to various versions of the detail
- handling all 4 cases (sent, received, pending, failed)

[362] [scaffold] Pending Transaction Details

- confirmations counting
- pending transaction status fixed

[362] [scaffold] Pending Transaction Details

- tests fixed

[362] [scaffold] Pending Transaction Details

- failed transactions

[362] [scaffold] Pending Transaction Details (381)

- snapshot tests

[362] [scaffold] Pending Transaction Details (381)

- comments resolved
2022-06-30 08:59:03 -03:00
Lukas Korba df2c721d32
[96] [Scaffold] Received Transaction Details (#378)
- 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
2022-06-28 09:38:08 +02:00
Lukas Korba e321114214
[98] [Scaffold] Full Wallet History (#376)
- 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'
2022-06-23 11:05:34 +02:00
Lukas Korba cb32ca42a9
[327] Navigation/Routing for the deeplinks (#371)
- 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
2022-06-20 10:11:21 +02:00
Lukas Korba 31b1383c5e
[324] WrappedFeedbackGenerator refactor (#357)
- specific feedback calls for the feedback generator
2022-06-14 12:02:15 +02:00
Lukas Korba 270a21668a
[346] Take Synced home screen snapshot (#356)
- home snapshot with mocked data
- also in the full history view
2022-06-14 12:01:51 +02:00
Lukas Korba 6026aebc9b
[222] Tests for the initialisation check and process (#334)
- 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
2022-06-03 20:21:51 +02:00
Lukas Korba 9e2ac0c6aa
[312] WrappedNumberFormatter (#336)
- WrappedNumberFormatter implemented
- unit tests updated to inject en_US locale
- cleaned up all XCTSkipUnless
2022-06-03 14:28:48 +02:00
Lukas Korba 21806c737f
[323] Unit/Integration tests for Home (#335)
- integration test for the .onAppear action
- unit tests for the synchronizer status change
- unit tests for the drawer and tracsation history
2022-06-03 13:27:18 +02:00
Lukas Korba b2ae82ce1b
[#329] Update wallet to use Zatoshi type (#333)
- 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
2022-05-31 14:14:56 -03:00
Lukas Korba bab1dc6f82
[272] Decimals and Zatoshi type (#330)
[272] Decimals and Zatoshi type (330)
- Zatoshi type implemented
- conversions implemented
- 'from' convert methods refactored to better readable syntax
- fixed issue with rounding Decimal (in Zatoshi -> Decimal conversion)
- rounded -> roundedZec
- comments resolved
- zcashNumberFormatter by default
2022-05-27 17:19:21 +02:00
Francisco Gindre 9bed9d5927
Build/0.0.1 25 (#332)
* [#331] Update Secant ZcashLightClientKit 0.14.0-beta

* [#299] Changelog and version bump for 0.0.1-25
2022-05-26 19:11:21 -03:00
Lukas Korba c40b9660e3
[301] Import Wallet does not have a Birthday input field (#328)
- 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
2022-05-26 14:47:55 +02:00
Lukas Korba 4cc7737b21
[106] [Scaffold] Scan QR Screen (#321)
- 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
2022-05-24 08:30:12 +02:00
Lukas Korba b753efbc5f
[285] Advanced Routing: setting a route may vary depending on the originating context (#325)
- context based routing in Home Screen
- mnemonic refactor
- backup phrase display from the profile screen
2022-05-24 07:30:16 +02:00
Francisco Gindre b67d091a68
[#300] Use .live pasteboard on live views of the app. (#320)
Closes #300

also. Update the commit hash for the sdk
2022-05-17 15:29:51 -03:00
Lukas Korba af054b098c
[#180] Project Structure and Source code consistency (#317)
phrase 1:
- project restructured
- swifgen rewired
- files renamed

[180] Code inconsistency

phase 2:
- stores and views refactored

phase 3:
- models, dependencies, utils and UI components

[180] Code inconsistency

- tests fixed
2022-05-13 13:29:57 -03:00
Lukas Korba 2bb5451047
[#294] amount + address fields done (#308)
cleanup

validation

[#294] [Scaffold] Send Screen - transaction + address inputs (#308)

- zec amount refactored to be always Int64 - number formatter to zec string for the UI added
- cleaned up the invalid input conditions by providing computed properties
- isValidZcashAddress() added

[#294] [Scaffold] Send Screen - transaction + address inputs (#308)

- prefix input view support implemented
- zcash or $ symbol used as a prefix for the amount input
- $ computations and max out implemented

[#294] [Scaffold] Send Screen - transaction + address inputs (#308)

- insufficient funds logic (UI error + inability to send) added
- $ balance value visible at send screen
- cleanup

[#294] [Scaffold] Send Screen - transaction + address inputs (#308)

- send routing simplified and cleaned up

[#294] [Scaffold] Send Screen - transaction + address inputs (#308)

- unit tests

[#294] [Scaffold] Send Screen - transaction + address inputs (#308)

- cleanup

[#294] [Scaffold] Send Screen - transaction + address inputs (#308)

- review comments solved
2022-05-11 12:26:39 -03:00
Francisco Gindre cec63d0564
[#306 #215] Swiftlint and other warnings + build errors (#307)
[#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
2022-05-05 10:30:01 -03:00
Lukas Korba 6a12e09ee9
[#302] Synchronizer status on Home Screen (#304)
* synchronizer status

* amount input field enhancements

Closes #302
2022-05-04 17:01:48 -03:00
Lukas Korba f6e6f6991f
[#212] Wrapped user defaults (#298)
tests enhanced

guard/fail

cleanup
2022-05-03 09:34:17 -03:00
Lukas Korba e54ea3aa18
[#80] Scaffold - Send functionality (#297)
* UI + stores/reducers updated

* simple send done

cleanup

flag for sending

deny any attempt to send when sending is still in flight

cleanup

unit tests
2022-05-02 19:35:03 -03:00
Lukas Korba 3e8169551b
[#293] first draft of history of transactions (#293)
pending + cleared + sorted transactions

cleanup

any scheduler + tests skeleton

transaction history tests

syncedBlockHeight from the synchronizer
2022-04-28 07:22:31 -03:00
Lukas Korba ccb9301fb2
WrappedSyncrhonizer (#292)
(un)subscribed logic added
cleanup
refactor
commented solved
final agreed naming
2022-04-26 13:28:39 +02:00
Lukas Korba 7e7ba0d11d
Swiftlint 0.45.0 -> 0.47.0 (#290) 2022-04-22 12:24:10 -03:00
Lukas Korba 557aabdd17
Issue #284: (Non)scrollable Transactions list based on Drawer 2022-04-21 14:11:55 -03:00
Lukas Korba bdb18f6af7
Issue #283 - drawer animation fixed (#283) 2022-04-21 09:42:25 -03:00
Francisco Gindre c832d2822c
Issue #258 - User can take the backup test successfully more than once (#282)
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
2022-04-21 09:33:55 -03:00
Lukas Korba 5ce68fa5a5
Static welcome screen (#274)
* icon for the welcome screen

* static launch screen
2022-04-20 18:46:04 +02:00
Lukas Korba bab53181aa
Issue #276 - [Scaffold] Drawer for the Home Screen (#275)
Drawer + transactions history

clean up

Profile button on home screen

QR, Send and Request buttons

cleanup

conflicts resolved + cleanup
2022-04-20 18:41:32 +02:00
Lukas Korba 1a16282899
Issue #276 - [Scaffold] Drawer for the Home Screen
Drawer + transactions history

clean up
2022-04-20 11:45:24 -03:00
Lukas Korba c6a90ff96c Initial functional code
cleanup + functional import wallet

app state check fix

synchronization wip

cleanup

cleanup + debug menus from the home

debug menus modifier added

fix for the failing tests

transparent -> shielded

comments resolved
2022-04-19 09:05:07 +02:00
Francisco Gindre 7b33b632b9
Merge pull request #267 from LukasKorba/266_refactor_and_simplify_homeDebug_views
Old home->sandbox, new home for #255
2022-04-14 14:08:57 -03:00
Francisco Gindre a121bcec07
Merge pull request #270 from LukasKorba/256_dark_mode_chips
Chips colors fixed
2022-04-14 11:59:31 -03:00
Lukas Korba 43a5e0a7d2 Chips colors fixed 2022-04-14 14:07:11 +02:00
Lukas Korba 6cc73ecd86 critical fix
added test
2022-04-14 13:16:57 +02:00
Lukas Korba 330bc3256f old home->sandbox, new home for #255
hotfix
2022-04-14 11:29:52 +02:00
Lukas Korba a57cf312af wrapped derivation tool done
fixed build
2022-04-13 10:34:03 +02:00
Lukas Korba d0cca8121c Initialization refactored & covered by tests 2022-04-13 10:13:29 +02:00
Lukas Korba c22e18b07e Wrapped Security and Keychain handling 2022-04-12 14:32:58 +02:00
Lukas Korba a44bbaabad importing and storing the wallet
tests fixed
2022-04-11 14:36:09 +02:00
Lukas Korba 9e83b5ccfc missing chips order randomized 2022-04-08 16:17:20 +02:00