Commit Graph

167 Commits

Author SHA1 Message Date
Taylor Hornby 3bb6f4fb6a Make update_sapling_tree use TLS 2020-02-26 15:10:17 -07:00
Kevin Gorham da5247c74f
Testnet checkpoints. 2020-02-26 14:54:15 -05:00
Kevin Gorham 08fe8d6069
Demo app: get testnet builds working again. 2020-02-26 14:54:14 -05:00
Kevin Gorham 508e6d3da9
Demo app improvements.
including: mainnet support, BIP39 support and using seed words instead of string-based seeds, several convenience functions like copyToClipboard, simplified the developer experience for using the FAB, corrected errors in port numbers, streamlined several demos, trim user input, better messaging using new processorInfo flow.
2020-02-26 03:10:28 -05:00
Kevin Gorham 8c93840671
Revert sorting changes. 2020-02-21 19:13:17 -05:00
Kevin Gorham e431611d55
Update feature for creating checkpoints. 2020-02-21 18:24:28 -05:00
Kevin Gorham 4b1cb76f42
General cleanup.
Additional KDocs. Log cleanup. Cleaner close and shutdown behavior. Improved retry functions. New and updated constants. Database migrataions.
2020-02-21 18:22:04 -05:00
Kevin Gorham 52bb1d108d
Added DB schemas to the repository for tracking. 2020-02-21 18:16:25 -05:00
Kevin Gorham a572b55db0
Fixed tests. 2020-02-21 18:15:13 -05:00
Kevin Gorham ac7f3475e9
Improved error handling.
Added callback for reorg detection and also improved the logic for handling critical processor errors.
2020-02-21 18:14:34 -05:00
Kevin Gorham 6bcc00b098
Rust changes in response to feedback. 2020-02-12 08:39:30 -05:00
Kevin Gorham f90e07c0c1
New mainnet checkpoints. 2020-02-11 20:10:18 -05:00
Kevin Gorham 4d655b0f04
Add logic to validate processor setup. 2020-02-11 20:09:27 -05:00
Kevin Gorham dd18a13b47
Rust changes to expose the ability to derive an address. 2020-02-11 20:04:19 -05:00
Kevin Gorham 4390f3a304
Changes to initialization.
- renamed path variables
- cleaned up the way birthdays are stored
- improved logging
- added support for deriving the address from a seed or extfvk
2020-02-11 20:04:19 -05:00
Kevin Gorham ed594beee7
Fixed typo in PORT property name. 2020-02-05 10:07:25 -05:00
Kevin Gorham e3ce131647 Merge branch 'master' of github.com:zcash/zcash-android-wallet-sdk into preview
Conflicts:
	README.md
	src/main/proto/WalletData.proto
2020-01-15 09:23:35 -05:00
Kevin Gorham 77f6e77e14
Restore build to working order by removing local-only changes
which supported scanning in batches for better visibility into scan
progress. Also updated Cargo files to support error-free build for the
beta release.
2020-01-15 09:17:27 -05:00
Kevin Gorham 38f20c696e
Final changes before beta release. 2020-01-15 07:35:07 -05:00
Kevin Gorham 08f95d505d
General fixes and improvements. 2020-01-15 07:35:06 -05:00
Kevin Gorham 3ad1a056a6
Add batch scanning to allow for tracking scan progress. 2020-01-15 07:35:06 -05:00
Kevin Gorham 328e90d241
Add processorInfo for more visibility into status. 2020-01-15 07:35:05 -05:00
Kevin Gorham e56c1ff24a
Minor refactors and improvements and test fixes. 2020-01-15 07:35:05 -05:00
Kevin Gorham aaa823081b
Exposed support for address validation. 2020-01-15 07:35:05 -05:00
Kevin Gorham cf0d86a3da
Remove the bandaid hack that triggered the need for https://github.com/zcash/zcash-android-wallet/issues/39
This was a key win in the refactor.
2020-01-15 07:35:04 -05:00
Kevin Gorham 29717cd871
Refactored initialization.
Addresses some of the concerns in https://github.com/zcash/zcash-android-wallet/issues/39 by removing the side effects from the Intializer. Now instead of trying to help with loading and persisting wallet birthdates, it delegates that utility to another class.
2020-01-15 07:35:04 -05:00
Kevin Gorham 93c01a9f3f
Test cleanup, deleting outdated tests. 2020-01-15 07:35:04 -05:00
Kevin Gorham 527eb50439
Minor changes to support zECC app. 2020-01-15 07:35:03 -05:00
Kevin Gorham 4653f98053
Added more mainnet sapling trees. 2020-01-15 07:35:03 -05:00
Kevin Gorham 18a4cdfcaa
Added function for abbreviating addresses for user display. 2020-01-15 07:35:03 -05:00
Kevin Gorham 7babe0c63c
Fixed bug with hasData not being cleared and improved sapling tree selection.
- Choose the latest tree above the requested height
2020-01-15 07:35:02 -05:00
Kevin Gorham 596bea0158
Refactor to support new app. 2020-01-15 07:35:02 -05:00
Kevin Gorham 88aeb4f5ac
Correct hardcoded CoinType. 2020-01-15 07:35:01 -05:00
Kevin Gorham b47b10427e
Blossom activation. 2020-01-15 07:35:01 -05:00
Kevin Gorham 8a365115f1
Add mainnet support.
This involves splitting code to run in the zcashMainnet and zcashTestnet flavors and using the corresponding feature of librustzcash. Mainnet functionality is proven in the integration test in androidTestZcashmainnet.
2020-01-15 07:35:01 -05:00
Kevin Gorham 5380c0d365
General cleanup before merging first pass at demo app. 2019-11-23 20:47:50 -05:00
Kevin Gorham 652e862d5c
Iterate on the Send demo.
Allow input. Allow multiple sends. Handle errors. Demonstrate an improved user experience where sending is disabled at the appropriate times.
2019-11-23 18:07:28 -05:00
Kevin Gorham 93d4114848
Refactor logic for awaiting confirmations.
Leverage the new flow-centric approach to sending transactions, rather than polling the database, which leads to concurrent modification errors and corrupted data.
2019-11-23 02:18:20 -05:00
Kevin Gorham bebe0cf4e7
Rust welding utility functions for key derivation. 2019-11-20 18:23:20 -05:00
Kevin Gorham 7e9127538f
Update memo to accept bytes instead of a string. 2019-11-17 23:49:14 -05:00
Kevin Gorham 9cb178d6fb
Refactoring 2019-11-17 23:39:37 -05:00
Kevin Gorham bf48b82aa8
Refactor package names 2019-10-24 01:21:52 -04:00
Kevin Gorham f89d2be250
SDK changes to support new demo app.
- Convert status flags into stream of statuses, instead.
- Improve logging during transaction submission
- Database corrections. Aparently Room has gotten more strict with schema parsing and this required lots of corrections mainly around get nullability correct for DB fields.
- Simplify Synchronizer creation via constructor functions. Created one function for maximum simplicity and another for maximum flexibility.
- Changed logic for Wallet initialization to simplify dependencies and allow for optional access to private keys for wallet apps
- Created TransactionRepository that leverages the paging library for Room
- Provided sample implementation of bridging to a key manager in a way where wallet apps do not have to modify their existing code.
- Made it easier to clear the wallet data that can be repopulated from the blockchain
- Allowed for better cleanup of heavy-weight lightwalletd services by adding a shutdown API call
2019-10-24 01:16:58 -04:00
Kevin Gorham 190f7f5548
Consolidate old sample apps into new demo app. 2019-10-24 01:16:58 -04:00
Kevin Gorham 42f29f534c
Reduce configurability per Security Finding 1.
These changes largely reduce the amount of configuration that can be tweaked in order to prevent fragmentation of the anonymity set of users. If wallet makers change certain properties than it can become easy to detect which network requests are coming from which client. The goal is for clients to be as anonymous as possible.
2019-09-26 12:58:37 -04:00
Kevin Gorham 1f18042d52
Implement versioning and other cleanup.
- Correct typo and compiler warning in Rust.
'trait objects without an explicity dyn' are deprecated and this is a warning as of Rust 1.37
- update dependencies
- update documentation

docs
2019-09-12 01:31:23 -04:00
Kevin Gorham 636cbb59c0
Add TLS support.
Make TLS the default and require effort to setup plaintext connections, instead.
2019-09-12 01:31:22 -04:00
Francisco Gindre 28fa4d4ef2 add empty swift_prefix option value to .proto files 2019-08-30 14:52:14 -03:00
Kevin Gorham a83ace6e43 Refactor after Zcon1 2019-08-30 10:07:56 -04:00
Kevin Gorham 8c7103d0ee Cleanup after Zcon1. 2019-08-30 10:07:56 -04:00