Kevin Gorham
a1f4491fba
Merge pull request #20 from zcash/docs/update-diagrams
...
Update README
2019-03-27 01:35:37 -04:00
Kevin Gorham
5ea910b7f0
Updated readme to further point to preview branch
2019-03-27 01:32:18 -04:00
Kevin Gorham
98a651019c
Updated diagrams to reflect latest state of SDK
...
Also simplified the diagrams, making them clearer and polished by a Designer, rather than a product of Engineering. Now they are more visually appealing in addition to being more technically accurate.
2019-03-27 01:23:26 -04:00
Dimitris Apostolou
e6c7114117
Electric Coin Company
2019-03-20 09:27:03 +02:00
Kevin Gorham
4261ae9efc
Update README to reference preview branch
2019-03-19 11:51:11 -04:00
str4d
db5abb889c
Merge pull request #15 from zcash/rust-updates
...
Rust updates
2019-03-13 20:04:07 +13: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
b4afbaf0fc
Merge pull request #17 from zcash/docs/update-readme
...
Update README documentation
2019-03-13 02:39:27 -04:00
Kevin Gorham
2467ab2dfb
Update readme to reflect latest behavior
2019-03-13 02:36:35 -04:00
Kevin Gorham
cc41d0646b
Added diagram for developer Point of View
2019-03-13 02:36:26 -04:00
Kevin Gorham
76bcc52b25
Initial explanation of the structure of the SDK
2019-03-13 02:28:21 -04:00
Kevin Gorham
8598fe5fd7
Add diagram to the README
...
Renamed data DB in overview diagram. Initially we expected this to only contain UI data but it was easier to have one database for everything that can be derived from a seed, rather than multiple databases segregated by sensitivity.
2019-03-13 02:27:59 -04:00
Kevin Gorham
245841807c
add hex as required dependency, then use it inside init_blocks_table
2019-02-23 20:16:45 -05:00
Kevin Gorham
2c4a48b772
modify update_sapling_tree utility to output JSON
2019-02-22 10:04:32 -05:00
Kevin Gorham
148563b7e6
modify scan operation to start from sapling activation.
...
Rather than starting from zero because we do not need non-sapling blocks, prior to sapling's activation.
2019-02-22 10:04:32 -05:00
str4d
531df67856
Merge pull request #13 from zcash/spend-stability
...
Spend stability
2019-02-19 21:00:06 +00:00
Jack Grigg
870283c8ea
JniConverter.getVerifiedBalance()
2019-02-19 01:45:38 +00:00
Jack Grigg
2a091a1da1
crate::sql::get_verified_balance()
2019-02-19 01:39:36 +00:00
Jack Grigg
4c901fc21f
Exclude spendable notes from selection that aren't verified
2019-02-19 01:25:25 +00:00
Jack Grigg
2695e8f6fd
Mark notes as unspent when the transaction they are spent in expires
2019-02-19 00:59:09 +00:00
Jack Grigg
273881c3b6
Re-introduce requirement that scanned blocks are height-sequential
...
This prevents the data DB from getting into a state where the Sapling
commitment tree is invalid, which was occurring too easily in testing.
2019-02-18 12:47:16 +00:00
Jack Grigg
d145091139
Debug logging in note selection
2019-02-18 12:31:57 +00:00
Jack Grigg
1cd1a4d2f1
Lock notes after transaction creation to prevent serial double-spends
...
Does not prevent parallel double-spends.
2019-02-18 12:27:14 +00:00
Jack Grigg
208a9497dd
Ensure we always select anchors from blocks that we have
2019-02-18 11:55:34 +00:00
str4d
d415cf4558
Merge pull request #12 from zcash/witness-updating
...
Fix witness-updating bug, and enforce witness validity
2019-02-14 15:01:00 -05:00
Jack Grigg
b95f0b1fc9
Fix witness-updating bug, and enforce witness validity
2019-02-14 19:47:18 +00:00
str4d
262a29ca5f
Merge pull request #11 from zcash/spend-improvements
...
Spend improvements
2019-02-13 05:24:39 -05:00
Jack Grigg
966b6a9df5
Include fee in target value
2019-02-13 10:16:56 +00:00
Jack Grigg
e3ecc6f7dc
Fix underflow in target height when selecting anchor
...
This won't occur in practice because Sapling activated at a height well
above ANCHOR_OFFSET, but good to fix anyway.
2019-02-13 10:10:23 +00:00
Jack Grigg
6842c293fe
Ensure we have sufficient balance before using transaction::Builder
...
The Builder does return an error if insufficient spend value is
provided, but we can give a more meaningful error here.
2019-02-12 20:55:43 +00:00
Jack Grigg
9b29276dba
Return a more useful error if send_to_address() is called with no blocks
2019-02-12 20:49:35 +00:00
Jack Grigg
8eeddb2de0
Test that send_to_address() fails with incorrect ExtendedSpendingKeys
2019-02-12 19:46:16 +00:00
str4d
a625035e66
Merge pull request #10 from zcash/jni-errors
...
Wrap all exceptions and panics to relay them over JNI
2019-02-11 21:58:32 -05:00
Jack Grigg
933fb07f42
Wrap all exceptions and panics to relay them over JNI
2019-02-12 02:56:17 +00:00
Jack Grigg
25e79f042b
Use failure::Error in utils::exception instead of jni::errors::Error
2019-02-11 16:52:00 +00:00
Jack Grigg
42b2076dc1
Add exception utilities to the crate
2019-02-11 16:35:44 +00:00
Jack Grigg
37c0efad77
Utilities for conveying Rust exceptions and panics to Java
...
Source: affa85c026/exonum-java-binding/core/rust/src/utils/exception.rs
License: Apache-2.0
2019-02-11 16:33:11 +00:00
str4d
9171c3b32d
Merge pull request #9 from zcash/edition-and-cleanups
...
Edition and cleanups
2019-02-11 11:25:22 -05: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
c4231fb404
Fix bug in collect() return type
2019-02-11 15:03:27 +00:00
str4d
5a67bdae79
Merge pull request #8 from zcash/backend-updates
...
Backend updates
2019-02-11 09:44:46 -05:00
Jack Grigg
eca0bbc697
Explicitly panic instead of unwrapping when an invariant is broken
2019-02-11 14:28:19 +00:00
Jack Grigg
e3ccb73a99
Remove unnecessary unwraps
2019-02-11 14:28:18 +00:00
Jack Grigg
d1c3c55b0d
Test that scan_cached_blocks finds change notes
2019-02-11 14:28:17 +00:00
Jack Grigg
70f9ab54c6
Simple binary to calculate the latest Sapling commitment tree
...
The gRPC Rust bindings are committed instead of requiring protoc to build.
2019-02-11 14:27:43 +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