Commit Graph

19 Commits

Author SHA1 Message Date
Kevin Gorham 0ed5731ff4 Add address information to notes query and other cleanup 2019-03-27 01:37:46 -04:00
Kevin Gorham 2132bc14fd Fix bugs 2019-03-27 01:37:46 -04:00
Kevin Gorham 1b37784e44 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.
2019-03-27 01:37:46 -04:00
Kevin Gorham bf7b3ee744 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
2019-03-27 01:37:46 -04:00
Kevin Gorham 4d226a8c5e Create CompactBlockProcessor and refine responsibilities of collaborators
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.
2019-03-27 01:37:46 -04:00
Kevin Gorham 57630f8eba Create CompactBlockDownloader, iterate on business logic using new JUnit5 setup
streaming is working and tests are functional
2019-03-27 01:37:46 -04:00
Kevin Gorham b688013f16 Switch to JUnit 5 2019-03-27 01:37:46 -04:00
Kevin Gorham 6c869a47df Create synchronizer and add layer of business logic onto the data layer
App is functional and displays transactions
2019-03-27 01:37:46 -04:00
Kevin Gorham 1501f1a7d2 Add data access layer for dataDb
Update the scanBlocks request and integrate with the data that it generates inside dataDb
2019-03-27 01:37:46 -04:00
Kevin Gorham aa0c83a55f
version updates 2018-12-01 01:48:06 +00:00
Kevin Gorham 5df6e95e4f
saving and retrieving data is working and db files are generated 2018-12-01 01:48:01 +00:00
Kevin Gorham 58f5a24a90
checkpoint. database exists 2018-12-01 01:47:58 +00:00
Kevin Gorham 81667f17cc
start with a test and maybe it will actually get used, Eventually. 2018-12-01 01:47:57 +00:00
Kevin Gorham f7263f69c0
manual version bump, still. 2018-12-01 01:47:56 +00:00
Kevin Gorham 42295cf09a
fix false positive when detecting file changes.
Copies were happening before the creation of the libraries.
2018-12-01 01:47:54 +00:00
Kevin Gorham a522715406
version bump.
doing these manually for now.
2018-12-01 01:43:06 +00:00
Kevin Gorham 179abf92e3 add ability to publish to the local repo 2018-11-21 04:48:26 -05:00
Kevin Gorham a30f338a39 add scripts for building rust libs 2018-11-21 02:04:53 -05:00
Kevin Gorham 1b43798464 reverted gradle kotlin dsl
kotlin dsl has a low ROI at this time because it does not provide a lot of benefits yet adds a lot of complexity and build issues so we've removed it from our projects
2018-11-21 02:01:45 -05:00