Kevin Gorham
49acf6476a
Update checkpoints.
2021-04-23 18:50:54 -04:00
Kevin Gorham
697721023c
Fix: Versioning error around annotations.
...
The project was including a bad version of NotNull and this resulted in errors that were very hard to troubleshoot because the failure happened during annotation processing so Dagger could not even generate the code that the rest of the app relied upon. It was a mess. Fixed by removing the useless NotNulls and being a little more conservative on dependencies.
2021-04-23 16:17:32 -04:00
Kevin Gorham
fb1b618c5f
Update version and changelog.
2021-04-23 15:01:02 -04:00
Kevin Gorham
bfde1b3c4c
Fix: Make versioning consistent, particularly for the Kotlin compiler.
2021-04-23 15:00:45 -04:00
Kevin Gorham
5c57b0808f
Merge pull request #218 from zcash/feature/autoshielding-poc
...
Feature/autoshielding poc
2021-04-22 19:06:02 -04:00
Kevin Gorham
8885a3e306
Update Cargo and SDK version
2021-04-22 18:56:52 -04:00
Kevin Gorham
30f7bf0b82
New: Begin working on test harness.
...
For now, just pushing all uncommitted changes to tests. Next sprint we will begin focusing on generating a useful test harness.
2021-04-22 18:54:19 -04:00
Kevin Gorham
05b8d0ddc4
New: migrate to 'refreshVersions' for dependency management.
...
Squash
2021-04-22 18:54:19 -04:00
Kevin Gorham
c60119cd5a
Fix: Off-by-one error during rewind.
2021-04-22 18:47:58 -04:00
Kevin Gorham
5dd0df7619
Fix: change rewind behavior to correct for witnesses
...
Addresses SDK side of https://github.com/zcash/librustzcash/issues/373
2021-04-14 18:44:17 -04:00
Kevin Gorham
e07317c7d5
Latest lib.rs
2021-04-14 15:00:45 -04:00
Kevin Gorham
22425d756e
Update project dependencies.
2021-04-09 22:30:24 -04:00
Kevin Gorham
160a95738f
New: Enable publishing single artifact to Maven Central.
2021-04-09 22:30:24 -04:00
Kevin Gorham
5133306c08
New: Add support for rewinding and wiping data.
...
A simple rewind feature in a wallet can recover from a wide variety of issues.
2021-04-09 22:30:24 -04:00
Kevin Gorham
1eb1a6aa8e
Fix: Improve error handling and surface critical Initialization errors.
2021-04-09 22:30:24 -04:00
Kevin Gorham
dffb6f257f
Add new tests and cleanup old ones.
...
squash test cleanup
squash tests
2021-04-09 22:30:24 -04:00
Kevin Gorham
4a90e6bf24
New: Derive sapling activation height from network.
...
This type of change will allow dynamically switching networks within the app or unit tests, later.
fixup network change
2021-04-09 21:46:20 -04:00
Kevin Gorham
af190e786b
New: Explicitly declare network when needed.
...
It is important to be very explicit about the network and not make any assumptions for ease of use because that resulted in numerous bugs while transitioning away from the old two library setup.
squash explicit network
2021-04-09 21:46:20 -04:00
Kevin Gorham
9dd9eef9ee
New: Consolidate product flavors.
...
Begin preparing for one build of the SDK, now that it is possible in librustzcash thanks to the data access api changes.
2021-04-09 19:58:29 -04:00
Kevin Gorham
6124407295
Update dependencies.
2021-04-09 19:50:59 -04:00
Kevin Gorham
278adfe0b9
New: Add getAccount.
2021-04-05 18:39:26 -04:00
Kevin Gorham
39972d8e43
New: Functionality to refresh UTXOs and updated taddr support.
2021-04-05 18:37:13 -04:00
Kevin Gorham
591df083b5
Update to the latest Rust code.
2021-04-01 17:51:47 -04:00
Kevin Gorham
553d28da7e
New: Add database migration to support autoshielding.
2021-04-01 02:26:38 -04:00
Kevin Gorham
04293f4f75
New: Add UnifiedViewingKey concept.
...
A unified viewing keys serves as a grouping of keys that are all related to the same account but do not have spend authority. This is most important when initializing the database for scanning.
2021-04-01 02:23:41 -04:00
Kevin Gorham
ac9f803d5b
Refactor: Added type package.
...
In anticipation of UnifiedViewingKeys and, later, URI support as well as NU5 support for Unified Addresses.
2021-04-01 02:14:57 -04:00
Kevin Gorham
77b2ac5bae
New: Add logic for deleting UTXOs above a given height.
2021-03-31 09:36:46 -04:00
Kevin Gorham
cde327a0f8
New: Expose transaction count.
2021-03-31 09:27:57 -04:00
Kevin Gorham
ad5d4c4505
New: Update to the latest librustzcash crates.
2021-03-31 09:27:14 -04:00
Kevin Gorham
657fab680f
Add checkpoints for mainnet and testnet.
2021-03-31 09:22:18 -04:00
Kevin Gorham
79981f7ea2
Docs: Add placeholder for package documentation.
2021-03-31 09:16:31 -04:00
Kevin Gorham
997f6988a4
New: Add the ability to rewind and rescan blocks.
...
This one feature can fix lots of problems that wallets encounter and it is particularly useful for the 'Max Transaction' bug. See this iOS issue for more details: https://github.com/zcash/ZcashLightClientKit/issues/255
2021-03-31 09:16:06 -04:00
Kevin Gorham
ad1f2438fb
Docs: Update README to draw attention to the demo app.
2021-03-31 09:07:37 -04:00
Kevin Gorham
a7b6d00cf7
New: Add scan metrics and callbacks for apps to measure performance.
2021-03-31 08:51:53 -04:00
Kevin Gorham
24b428e3d5
New: Improve birthday logic.
...
Previously, the wallet had to manage determining the best birthday but that logic has now been pulled down into the SDK. A wallet can safely skip all blocks prior to the first transaction so the birthday starts as an estimate, based on the checkpoint and then moves forward to the height of the first transaction. If a user starts a wallet but does not receive funds for a long while, their wallet will have a better birthday as a result of this change and that is a very common use case.
2021-03-31 08:47:04 -04:00
Kevin Gorham
1ac3685819
New: Expose isStarted property of the Synchronizer.
2021-03-31 08:37:12 -04:00
Kevin Gorham
a4d2f373da
New: Only refresh subscribers when a new block is detected.
...
For sanity, we also trigger a refresh if it has been an abnormal amount of time since a block was mined.
2021-03-31 08:35:09 -04:00
Kevin Gorham
b5fc8bc8a2
New: Begin troubleshooting shutdowns and stops that are not graceful.
...
Calling stop should cleanly exit the synchronizer. Instead, we are seeing lots of errors and crashes. This can be made better but the first step is to add some logs to help troubleshoot the problem.
2021-03-31 08:30:51 -04:00
Kevin Gorham
c761071d6f
New: Warn about potential testnet v mainnet database contamination.
2021-03-31 08:22:46 -04:00
Kevin Gorham
eeafbd8c2f
New: Prefer the ZOMG lightwalltd instances.
2021-03-30 20:46:43 -04:00
Kevin Gorham
ddf30d191c
Fix: repair broken test.
2021-03-30 20:45:35 -04:00
Kevin Gorham
a0837474d0
Update ktlint formatting and imports.
2021-03-10 22:04:39 -05:00
Kevin Gorham
bb5931a686
Updated checkpoint files.
2021-03-10 21:44:29 -05:00
Kevin Gorham
9dfc51967f
Merge pull request #216 from zcash/integration/auto-shielding-poc
...
Integration of all auto-shielding PoC changes
2021-03-10 18:24:31 -05:00
Kris Nuttycombe
4bcf74d871
Update to use data access API in librustzcash. ( #172 )
...
* Refactor to updated data access API.
* Update to latest librustzcash/data_access_api.
Co-authored-by: Kevin Gorham <kevin.gorham@electriccoin.co>
2021-03-10 13:31:55 -05:00
Adí
794a9f99b8
Add ktlint ( #207 )
...
* Add ktlint
Fix formatting per ktlint rules.
Upgrade dependencies & gradle.
* Move ktlint to apply section
* Keep unused-import check
Remove afterEvaluate check.
* Remove respository setup for ktlint.gradle
Fix format for SaplingParamTool & CompatBlockProcessor
2021-03-10 13:10:03 -05:00
Kevin Gorham
ad67513afb
Use constant for anchor offset.
2021-02-25 13:15:09 -05:00
Kevin Gorham
80b65d5f96
New: Cleanup failed transactions.
...
Transactions that failed would previously remain in the pending transaction database forever. Now, they can be marked for deletion and removed after a while.
2021-02-23 17:35:22 -05:00
Kevin Gorham
7a2b97670d
Update database to support UTXOs.
2021-02-22 17:32:36 -05:00
Kevin Gorham
7214850abf
New: Sample test for auto-shielding.
...
Trying a new approach to writing sample tests that can serve as code examples.
2021-02-19 16:08:51 -05:00