-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate with lightwalletd and librustzcash #16
Commits on Mar 11, 2019
-
Add data access layer for dataDb
Update the scanBlocks request and integrate with the data that it generates inside dataDb
Configuration menu - View commit details
-
Copy full SHA for c99f9a3 - Browse repository at this point
Copy the full SHA c99f9a3View commit details -
Create synchronizer and add layer of business logic onto the data layer
App is functional and displays transactions
Configuration menu - View commit details
-
Copy full SHA for 2c0966a - Browse repository at this point
Copy the full SHA 2c0966aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 986ee50 - Browse repository at this point
Copy the full SHA 986ee50View commit details -
Create CompactBlockDownloader, iterate on business logic using new JU…
…nit5 setup streaming is working and tests are functional
Configuration menu - View commit details
-
Copy full SHA for 5915ad3 - Browse repository at this point
Copy the full SHA 5915ad3View commit details -
Integrate with dataDb init commands and grpc service updates.
On the rust side, we now have access to the init DB commands. On the Go side we have time available for blocks
Configuration menu - View commit details
-
Copy full SHA for 9448f43 - Browse repository at this point
Copy the full SHA 9448f43View commit details
Commits on Mar 13, 2019
-
Create CompactBlockProcessor and refine responsibilities of collabora…
…tors The synchronizer now primarily collaborates with a downloader, processor and repository; each with a more focused set of responsibilities. The downloader streams blocks into a channel, the processor saves blocks from that channel and scans for transactions, the repository exposes transaction change events.
Configuration menu - View commit details
-
Copy full SHA for 13642d6 - Browse repository at this point
Copy the full SHA 13642d6View commit details -
Create ActiveTransactionManager to monitor active transactions
When a transaction is sent it transitions through a lifecycle, beginning with creating the raw transaction and ending with it being mined and added to the blockchain
Configuration menu - View commit details
-
Copy full SHA for 84b8756 - Browse repository at this point
Copy the full SHA 84b8756View commit details -
Iterate and refine send and active transaction behavior
Send is now functional and shows up in active transactions. This involved: - reducing the exposure of the seed - consistently using Ints for blockheight everywhere to match zcash - adding the use of spending keys - adding account initialization on startup - using accounts but defaulting to account 0 - internalizing birthday so we no longer need a reference outside of the library - enabling cancellation during send - cleanup active transaction manager
Configuration menu - View commit details
-
Copy full SHA for e668946 - Browse repository at this point
Copy the full SHA e668946View commit details -
Create mock synchronizer to help with driving the UI.
After experiencing several issues that make it more difficult to test send behavior, including the amount of time required to wait for blocks to get mined when testnet is slow, it became obvious that it was time to investigate mocking. Most of the behavior in the SDK is driven by channels so the mock only has to focus on putting useful data in the expected channels at the right time. One tradeoff here was the need to make all the synchronizer properties private, that way any implementation can achieve compatability without necessasily leveraging the same combinations of building blocks. This tradeoff felt acceptable given that these dependencies can be injected and available as singletons, if needed. This also had a side effect of elevating several channels into the Synchronizer interface, rather than reaching into the synchronizer to directly access those dependencies. Another benefit is that it's now easier to see what matters most to the app, particularly which channels are essential.
Configuration menu - View commit details
-
Copy full SHA for bfdd093 - Browse repository at this point
Copy the full SHA bfdd093View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21f09fa - Browse repository at this point
Copy the full SHA 21f09faView commit details -
Add conversion logic and extensions for consistency and correctness
Working with bigdecimals anytime we need to multiply or divide values because it was causing issues when repeatedly toggling currency on the send screen. Coupled this with lots of improvements on the app side to do less processing while changing currencies
Configuration menu - View commit details
-
Copy full SHA for 1892e4d - Browse repository at this point
Copy the full SHA 1892e4dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 913ecb4 - Browse repository at this point
Copy the full SHA 913ecb4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 37c9cf7 - Browse repository at this point
Copy the full SHA 37c9cf7View commit details -
Configuration menu - View commit details
-
Copy full SHA for df9f020 - Browse repository at this point
Copy the full SHA df9f020View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5e5941 - Browse repository at this point
Copy the full SHA c5e5941View commit details -
Remove unused things and document limits of Junit 5 usage
It is not really practical to try and use JUnit 5 for Android Instrumentation tests at this time. See documentation in build.gradle for details.
Configuration menu - View commit details
-
Copy full SHA for 09de20c - Browse repository at this point
Copy the full SHA 09de20cView commit details -
Improve logic and behavior during app startup.
Never start downloading blocks prior to sapling activation height, only allow firstrun when dataDb is empty and also add birthday support. Also added corrections to isFirstRun logic.
Configuration menu - View commit details
-
Copy full SHA for 56fada2 - Browse repository at this point
Copy the full SHA 56fada2View commit details -
Add a layer of logic for bubbling up errors
This allows the app to show an error dialog rather than crashing silently
Configuration menu - View commit details
-
Copy full SHA for ed5e9c0 - Browse repository at this point
Copy the full SHA ed5e9c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d38c348 - Browse repository at this point
Copy the full SHA d38c348View commit details -
This commit will get iteratively polished until the PR is ready - Addresses PR feedback #16 (comment)
Configuration menu - View commit details
-
Copy full SHA for c7d85f2 - Browse repository at this point
Copy the full SHA c7d85f2View commit details -
Remove unused functionality and disable modification to tables that should only be written by librustzcash
Configuration menu - View commit details
-
Copy full SHA for 764455d - Browse repository at this point
Copy the full SHA 764455dView commit details