Commit Graph

53 Commits

Author SHA1 Message Date
Michal Fousek 6c77e0901b
[#595] Visbility of fiat conversion on homeage depends on feature flag (#625)
Closes #595
2023-03-07 18:03:37 +01:00
Lukas Korba 4db00ff4a9
[#609] Split birthday from the import seed phrase (#622)
- birthday set separated from the backup seed phrase
- snapshot for the birthday screen added
2023-03-07 07:16:34 +01:00
Lukas Korba 8e46737321
[#566] Change colors app-wide (#603) 2023-03-06 15:14:18 +01:00
Lukas Korba 49d858d22a
[#557] Nav Changes (#602)
- previous profile screen connected to the receive ZEC button
- receive ZEC is now simplified to show only QR code + UA with small "i" icon leading to address details
- profile's UA address copy to pasteboard added
- home's settings button connected to settings screen
- settings screen updated, test crash report and rescan blockchain moved to debug menu
- root reducer's debug code move to a separate file
- unit tests updated + debug tests provided
2023-03-02 15:24:32 +01:00
Michal Fousek 56e1364659
[#554] Use WalletConfigProvider and WalletConfig in the TCA (#582)
Closes #554

- WalletConfigProvider and WalletConfig are used in the Secant app.
- First feature flag (`onboarding`) is in use.

Co-authored-by: Lukas Korba <lukas.korba@seznam.cz>
2023-02-27 13:55:47 +01:00
Lukas Korba c686a74372
[#562] Clean up the Send screen (#580)
- send screen simplified + UI changes
- confirmation screen removed (hold to confirm)
- test and snapshot tests modified accordingly
2023-02-27 08:21:54 +01:00
Lukas Korba 1988d30540
[#559] Remove the circular progress bar from home screen (#572)
- draft of the removal, home screen updated

[#559] Remove the circular progress bar from home screen

- circular area removed
- snapshot tests of the circular area removed
- home screen simplified
2023-02-23 13:42:48 -03:00
Francisco Gindre 7967fac627
[#207] create Secant Mainnet target (#550)
1. duplicates secant-testnet target and call it secant mainnet https://github.com/zcash/secant-ios-wallet/issues/273
2. renames Info copy plist file and Display name
3. Fixes TCA code bootstrapping so it has the mainnet environment

Fixed Info-Plist
4. (off code repo) create the mainnet app on the app store

4. create the mainnet app on the app store
5. create the mainnet variant on Crashlytics
6. create a GoogleServices-Plist file
7. change tag triggers to mainnet and testnet can be built independently from each other
8. add Icons for testnet

Creates TargetConstants enum for network target

Closes [#568] Change display name to sECCant

make Derivation tool be static by SECANT_{NETWORK} target

Closes [#570] Change AppIcon to ECC icon
Closes #207
2023-02-22 11:06:43 -03:00
Lukas Korba 93b1b8c01f
[#564] Add transaction history as standalone screen (#569)
- the transaction history is now separated
- unit tests fixed
- snapshot test updated
2023-02-22 14:50:59 +01:00
Lukas Korba f946de15bb
[#444] Ensure that sensitive information can't be logged intentionally or by accident (#536)
- SensitiveData file holding utilities to hide all strings and data that holds information we don't want to leak or log
- wallet storage fields redacted
- import wallet fields redacted
- create wallet chips redacted
- import wallet reducer changed: BindableStates replaced by bindings to bridge redacted data
- redacted wallet balance
- redacted birthday value (BlockHeight helper)
- Redacted protocol conforming to Undescribable for release/production and testflight builds
- new target for the unredacted debug development
- unit tests fixed
- sensitive data helpers commented
- unit test for conformation to the Undescribable
- memo is redacted
- immutability of redactable structs
- log test capped to look for 6mins at most
2023-02-13 20:32:50 +01:00
Lukas Korba fdd6ff19c0
[#516] Adopt unreleased changes that will go live with SDK 0.18.0-beta release (#532)
- all issues refactored
- previous transactions replaced by new data type from the SDK
- unit tests fixed
2023-02-06 09:38:34 +01:00
Lukas Korba 64d509aedb
[#514] Adopt Unified Addresses (#515)
- UAs integrated to the Profile and Address details screen
- Snapshot tests for the AddressDetailsView
- Unit tests for the AddressDetailsStore
2023-01-05 20:07:25 +01:00
Dimitris Apostolou a16de79a45
Fix typos (#507) 2023-01-02 12:18:58 -03:00
Lukas Korba 8e3544b732
[#499] Refactor Route to Destination (#500)
- Route -> Destination refactor done
- test working
- cleanup of URLRouting usage
2022-12-01 15:31:30 +01:00
Michal Fousek a591ee93ce
[#442] Adopt SDK 0.17.0 (#496)
Fix _URLRouting error on project

Fix: Wallet account identifiers must be sequential on initialization

Adopt async API of SDK

Fixes after rebase

Fix tests
2022-11-22 11:32:48 +01:00
Lukas Korba c8b97a8266
[#490] Consolidation of TCA dependencies - 2nd batch (#491)
- all dependencies are now consolidated
- cleanup of dependencies
- getting rid of all .live instances in the tests
- all dependencies use mocked or noOp instances
2022-11-17 12:25:55 +01:00
Lukas Korba 7839d56977
[#477] Consolidation of TCA dependencies (#489)
- DiskSpaceChecker dependency consolidated
- DatabaseFiles dependency consolidated
- DeeplinkHandler dependency consolidated
- AudioServices dependency consolidated
- CaptureDevuice dependency consolidated
- DerivationTool dependency consolidated
- AppVersionHandler dependency consolidated
- LocalAuthentication dependency consolidated
- all unit and snapshot tests work again
2022-11-14 19:36:51 +01:00
Lukas Korba 50f5faea06
[#470] Migrate Home to ReducerProtocol (#487)
- Home migrated to ReducerProtocol
- unit and snapshot tests fixed
2022-11-09 10:30:40 +01:00
Lukas Korba 1e6397b950
[#463] Migrate SendFlow to ReducerProtocol (#486)
- SendFlow migrated to ReducerProtocol
- unit and snapshot tests fixed
2022-11-08 20:02:55 +01:00
Lukas Korba d758cf4928
[#461] Migrate OnboardingFlow to ReducerProtocol (#485)
- OnboardingFlow migrated to ReducerProtocol
- unit and snapshot tests fixed
2022-11-08 09:36:42 +01:00
Lukas Korba 7f6c104d28
[#462] Migrate Profile to ReducerProtocol (#484)
- Profile migrated to ReducerProtocol
- unit and snapshot tests fixed
- sandbox feature still works with all the TCA pullback/scope navigation
2022-11-08 09:36:23 +01:00
Lukas Korba 046681efff
[#467] Migrate TransactionAmountTextField to ReducerProtocol (#483)
- TransactionAmountTextField migrated to ReducerProtocol
- unit tests fixed
2022-11-08 09:36:03 +01:00
Lukas Korba 8753c2d883
[#468] Migrate CurrencySelection to ReducerProtocol (#478)
- CurrencySelection migrated to ReducerProtocol
- unit tests fixed
2022-11-07 11:53:39 +01:00
Lukas Korba 02d094904a
[#466] Migrate TransactionAddressTextField to ReducerProtocol (#475)
- TransactionAddressTextField migrated to ReducerProtocol
- unit and snapshot tests fixed
2022-11-07 11:53:20 +01:00
Lukas Korba 13061e7a1a
[#465] Migrate TCATextField to ReducerProtocol (#474)
- TCATextField migrated to ReducerProtocol
- unit tests fixed
2022-11-05 16:47:11 +01:00
Lukas Korba df61f72459
[#452] Migrate Settings to ReducerProtocol (#459)
- Settings migrated to ReducerProtocol
- unit and snapshot tests fixed
2022-11-05 08:16:10 +01:00
Lukas Korba 410de3bfa2
[#451] Migrate Welcome to ReducerProtocol (#458)
- Welcome migrated to ReducerProtocol
- snapshot test fixed
2022-11-05 08:10:06 +01:00
Lukas Korba 53011ff4c8
[#450] Migrate WalletEvents to ReducerProtocol (#457)
- WalletEvents migrated to ReducerProtocol
- unit and snapshot tests fixed
- some code cleanup, refactor and re-ordered
- WalletEvents refactored to WalletEventsReducer
2022-11-05 07:14:44 +01:00
Lukas Korba d6cb429372
[#449] Migrate Scan to ReducerProtocol (#456)
- Scan migrated to ReducerProtocol
- unit tests fixed
- Reducer postfix added to the reducers
2022-11-05 07:11:25 +01:00
Lukas Korba 1c85264083
[#447] Migrate BalanceBreakdown to ReducerProtocol (#453)
- BalanceBreakdown migrated
- unit and snapshot tests fixed
- some terminology cleanup beyond scope of this task, the dependencies are keys essentially so I refactored all of them to follow the same syntax
- SDKSynchronizer refactored to sdkSynchronizer
2022-11-03 20:26:30 +01:00
Lukas Korba 85bf0c4224
[#448] Migrate ImportWallet to ReducerProtocol (#454)
- ImportWallet migrated
- unit and snapshot tests fixed
- syntax cleanup
2022-11-03 14:40:40 -03:00
Lukas Korba d44eb5ef1b
[#445] Migrate RecoveryPhraseValidationFlowStore to ReducerProtocol (#446)
- RecoveryPhraseValidationFlow migrated to the ReducerProtocol
- unit tests fixed
2022-11-02 13:43:42 -03:00
Lukas Korba f7be225e01
[#441] Migrate RecoveryPhraseDisplayStore to ReducerProtocol (#443)
- RecoveryPhraseDisplay migrated to new TCA's ReducerProtocol
- fixed unit tests
- TODO Ensure that sensitive information can't be logged intentionally or by accident #444
2022-11-01 17:36:37 +01:00
Michal Fousek 91af5782c3
[#82] Add Sending in progress screen (#430)
Closes #82

- Add new `TransactionSendingView` which implements in progress state.
- Copied lottie animation from ECC reference wallet.
- Update routing in send flow to support new screen.
2022-10-03 10:39:40 -03:00
Michal Fousek ad575b8173
[#427] Add not enough disk space screen (#429)
Closes #427

- This is scaffold work for #427. Logic is done and some basic UI.
- Logic that works with free disk space is in `DiskSpaceChecker`. Use
  `WrappedDiskSpaceChecker` to get live or mocked instances of `DiskSpaceChecker`.
- You can either use `mockEmptyDisk` which mocks situation when there
  is enough space on disk.
- Or you can use `mockFullDisk` to mock situation when there isn't enough space on disk.
2022-09-30 15:49:07 +02:00
Michal Fousek d807f86d49
[#81] Update Send Confirmation screen (#426)
Closes #81

- Ported ZcashHoldToSendButton from ECC referecne wallet and make it work with TCA. And then use it on Send Confirmation screen.
- Added colors that are used by HoldToSendButton to asset catalogue.
- Update Send confirmation screen look according to designs.
- Ported ZcashCheckCircle from ECC reference wallet and use it on Send confirmation screen.
- Added colors used by CheckCircle to assets catalogue.
- Add test for the case when not including memo in transaction.
- Updated ZcashLightClientKit to 0.16.10-beta to fix transaction failure when memo is nil.
2022-09-27 19:14:52 +02:00
Michal Fousek cc7b767a5a
[#379] Show alert before follow a Block explorer link (#423)
Closes #379

- `TransactionDetailView` is updated and instead of `ViewStore` it now has `Store`. `Store` is required to show alert. It's not possible with `ViewStore`.
- There are three more actions added to `WalletEventsFlowAction`. These are used to handle the new alert.
- Block explorer URL is changed to https://zcashblockexplorer.com. New URL scheme is derived from how URLs looks now when some transaction is opened.
2022-09-22 21:20:46 +02:00
Lukas Korba 2ec00beeef
[#409] Rewrite LocalAuthenticationHandler so it supports new concurrency (#410)
- refactored to async/await TCA
- reduced a few dependencies
- removed schedulers
- simplified the code
- cleaned up the tests

[409] Rewrite LocalAuthenticationHandler so it supports new concurrency (410)

- Sendable protocol

[409] Rewrite LocalAuthenticationHandler so it supports new concurrency (410)

- fixed typo
2022-08-17 10:23:31 -03:00
Lukas Korba 368f95e7a7
[#224] [Scaffold] Balance Breakdown (#412)
- 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
2022-08-17 10:22:35 -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 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 05b2d716b1
[342] Take empty validation puzzle snapshot (#355)
- the backup is the whole flow so the implementation covers all screens:
- preamble
- validation with 4 steps to fill in the chips
- success/failure screens
2022-06-14 12:00:08 +02:00
Lukas Korba bd94d13095
[341] Take Phrase Display Snapshots (#354)
- phrase display with mocked data, .demo environment
2022-06-14 11:58:21 +02:00