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 |
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 |
Jack Grigg
|
b95f0b1fc9
|
Fix witness-updating bug, and enforce witness validity
|
2019-02-14 19:47:18 +00: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 |
Jack Grigg
|
933fb07f42
|
Wrap all exceptions and panics to relay them over JNI
|
2019-02-12 02:56:17 +00:00 |
Jack Grigg
|
c4231fb404
|
Fix bug in collect() return type
|
2019-02-11 15:03:27 +00: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
|
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
|
e8eda3db33
|
Test that init_accounts_table stores the correct address
|
2019-02-08 21:06:23 +00:00 |
Jack Grigg
|
5dea1dbc04
|
Test that initialisation APIs are one-shot
|
2019-02-08 21:06:22 +00:00 |
Jack Grigg
|
8d9124fab5
|
Pass paths into the SQL API using AsRef<Path> instead of &str
This enables both &str and &Path to be used, depending on how the API is
being called.
|
2019-02-08 21:06:21 +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
|
e99ed5bdeb
|
Extract SQL API into a separate module
|
2019-02-07 12:50:40 +00:00 |