Kevin Gorham
ae95b53ce1
Corrections to match recent changes in data_access_api
2021-01-27 02:19:12 -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
Kevin Gorham
c4ea984dc6
New: Update to the latest librustzcash crates.
...
Most notably, this enables ZIP-313 and reduced fees. For now, we've pinned to a commit on master. Eventually, we will point to crate.io versions once the release process is better defined.
2020-12-18 02:26:48 -05:00
Kevin Gorham
5879bb3442
Publishing is functional again on Bintray.
...
Minor uncommitted tweaks. Published version Alpha08.
2020-10-01 16:22:29 -04:00
Kevin Gorham
0601ec488b
Various bug fixes and improvements.
...
- 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
2020-09-25 09:59:55 -04:00
Jack Grigg
3b9745ab54
android_logger 0.9
2020-09-22 16:14:56 +01:00
Jack Grigg
e4317aadbf
Fix various Rust warnings
2020-09-22 16:11:55 +01:00
Jack Grigg
8ce8a8435f
cargo fmt
2020-09-22 15:44:31 +01:00
Kevin Gorham
a08beef93b
Created birthday tool and derivation tool.
...
By extracting behavior from the Initializer into a more genralized class that can be used statically.
2020-09-11 03:33:25 -04:00
Kevin Gorham
94c8a18be7
Added ability to start a Synchronizer with just a viewing key.
...
This was a long awaited request from wallet partners who already have keys available when the wallet launches.
2020-09-11 03:23:08 -04:00
Kevin Gorham
01efabe195
POC: prove the concept of local RPC via protobufs.
...
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.
2020-08-13 22:01:52 -04:00
Kevin Gorham
528442fa0a
New: Indicate when rust is potentially slow from running in debug mode.
2020-08-01 02:12:15 -04:00
Kevin Gorham
01bbd12e73
Update librustzcash.
2020-07-29 00:36:57 -04:00
Kevin Gorham
215788dd27
Migrate changes from hackathon.
...
Mostly includes changes to make testing more robust.
2020-07-29 00:36:56 -04:00
Kevin Gorham
aa569c99dd
Major refactor: corrected package name.
...
Now the SDK matches everything else that we have published to bintray and jcenter.
2020-06-10 03:08:19 -04:00
Kevin Gorham
4e95c46acb
Add missing newlines.
2020-06-09 23:28:21 -04:00
Kevin Gorham
c70da1983d
New: Added Heartwood support.
...
Going forward, consensus branch IDs will automatically switch over, once we reach the activation height.
2020-06-09 22:15:55 -04:00
Jack Grigg
25a5eab4be
RustBackend.decryptAndStoreTransaction()
2020-03-26 08:37:40 +13:00
Kevin Gorham
6bcc00b098
Rust changes in response to feedback.
2020-02-12 08:39:30 -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
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
3ad1a056a6
Add batch scanning to allow for tracking scan progress.
2020-01-15 07:35:06 -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
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
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
Jack Grigg
f4843bc25d
More descriptive value errors in sendToAddress
2019-08-29 18:57:05 +01:00
Jack Grigg
221c882589
Migrate to note-spending-v6
2019-08-29 18:04:53 +01:00
Jack Grigg
09c51b7654
Update RecipientAddress to fix transparent address support
2019-07-10 14:55:38 -04:00
Jack Grigg
1acf472d33
RustBackend.isValid[Shielded|Transparent]Address()
2019-07-10 14:54:39 -04:00
Jack Grigg
54dbf8e0ff
Add transparent address send support to backend
2019-05-24 17:10:20 +01:00
Kevin Gorham
c3f57d5e2f
Rename JniConverter to RustBackend
...
Turns out JNI classes are hard to mock due to the way sytem libraries
are loaded. So it became easier to put the JniConverter class behind an
interface. Once that refactor was necessary, it was a good time to
update the name of this class because it retained its original PoC name
for far too long.
2019-05-24 16:33:43 +01:00
Jack Grigg
4948617d6d
Add JNI methods for handling chain validity and reorgs
2019-05-14 17:30:09 +01:00
Jack Grigg
0591784ce4
Add mainnet support to Rust backend via a feature flag
2019-05-14 17:10:03 +01:00
Jack Grigg
e69f4b6003
Migrate to refactored librustzcash branch
2019-05-14 17:10:03 +01:00
Jack Grigg
1474fae4b8
Move SQL backend into librustzcash
...
Also some tweaks due to error-handling changes in librustzcash.
2019-03-13 06:56:28 +00:00
Kevin Gorham
245841807c
add hex as required dependency, then use it inside init_blocks_table
2019-02-23 20:16:45 -05:00
Jack Grigg
870283c8ea
JniConverter.getVerifiedBalance()
2019-02-19 01:45:38 +00:00
Jack Grigg
933fb07f42
Wrap all exceptions and panics to relay them over JNI
2019-02-12 02:56:17 +00:00
Jack Grigg
6d86b2cf16
Extract rust_vec_to_java() utility function
2019-02-11 16:20:11 +00:00
Jack Grigg
5dfadd4393
Extract java_string_to_rust() utility function
2019-02-11 15:44:49 +00:00
Jack Grigg
1163c557a8
Use spending_key helper instead of manually constructing account path
2019-02-11 15:36:34 +00:00
Jack Grigg
886017a4f5
Migrate to Rust 2018 edition
...
Requires a minimum of Rust 1.31.
2019-02-11 15:11:09 +00:00
Jack Grigg
b78a611f7b
JNI APIs to fetch memo fields as UTF8
2019-02-08 21:06:25 +00:00
Jack Grigg
6ae75baf35
Test that scan_cached_blocks finds received notes
2019-02-08 21:06:24 +00:00
Jack Grigg
5dea1dbc04
Test that initialisation APIs are one-shot
2019-02-08 21:06:22 +00:00
Jack Grigg
45adb0af4a
Store creation time and expiry height in transactions table
...
- Creation time can be used in the UI before a transaction gets mined.
- Expiry height enables the UI to indicate expired transactions.
2019-02-07 14:39:50 +00:00
Jack Grigg
c51a90f4de
Fix clippy lints
2019-02-07 13:02:50 +00:00
Jack Grigg
acd8c395f3
Tidy up imports
2019-02-07 12:58:33 +00:00