- Exposed primary constructor in initializer and added more convenience functions
- Fix: error handler not being passed through when changing server
- New: warn developer when a critical error occurs but is not covered with a callback
- New: Typed exceptions for missing birthday or viewingKey values during initialization
- New: updated default server for checkpoint tool
The new API for initializing with a viewing key will support all existing uses of the other initializer. So they can be safely merged and the changes to support the new one are fairly straight forward.
Also, iterated on the design of the Initializer to simplify construction and make the API easier to use.
Simplify the builder and also allow it to be a stand-alone configuration item, which would be more useful to React apps that cannot use Kotlins receiver function syntax.
- Extracted parent interface
- Created ViewingKey Initializer to start synchronizing without the seed (only the viewing key is needed)
- Extracted tools from the existing initializer and simlified it a bit
- Add logging
- Add service to mainactivity
- Use new SDK derivation tool
- Add prev/next buttons to block demo
- Add helpful stats to block range demo
- Add instructions to home screen and stop clearing after each demo
- Improve transaction list display
- Revamped every demo
- Added HTML to displays
- Added helpful extension functions
- Updated dependencies
This is an example of a jni call that accepts and returns proto objects. Ultimately, this trades a minor amount of performance for a significant improvement of ease of use. By exchanging protocol buffers, the Kotlin and Rust layers are able to communicate using far more complex objects. Eventually, this type of approach might completely replace the use of a database or sqlite.
This is as simple as switching to the commit in librustzcash that contains the required changes to the consensus branch id that will be used when sending funds on testnet.