Kris Nuttycombe
334442c505
Address comments from review.
2021-03-17 09:21:10 -06:00
Jack Grigg
8a84203685
Remove Default impl from MemoBytes
...
Memo fields have two ways to encode an empty memo:
- 0xF6 followed by all-zeroes, encoding "there is no memo".
- All-zeroes, encoding the empty UTF-8 string.
In almost all cases you want the former, but users thinking about byte
slices may expect MemoBytes::default() to result in the latter. To
ensure clarity, we now require calling either MemoBytes::default() or
MemoBytes::from_bytes(&[]) to be explicit.
No such confusion exists for the Memo enum, because the two types are
visibly separated as different enum cases, and Memo::Empty makes sense
as the default.
2021-03-17 21:16:01 +13:00
Jack Grigg
c7a3ef0e88
Split memo-handling into MemoBytes struct and Memo enum
...
The MemoBytes struct is a minimal wrapper around the memo bytes, and only
imposes the existence of null-padding for shorter memos. The only error
case is attempting to construct a memo that is too long. MemoBytes is
guaranteed to be round-trip encodable (modulo null padding).
The Memo enum implements the additional memo rules defined in ZIP 302,
interpreting the contents of a memo (for example, parsing it as text).
2021-03-17 21:05:50 +13:00
Jack Grigg
48f7ef84a4
Move Memo into zcash_primitives::memo
2021-03-17 19:58:40 +13:00
Kris Nuttycombe
5a9b29a75a
Address comments from code review.
2021-03-11 13:01:22 -07:00
Kris Nuttycombe
0e022f2283
Allow block scanning using either IVKs or FVKs.
2021-03-09 21:00:40 -07:00
Kris Nuttycombe
16289750e8
Remove WalletWrite::transactionally
2021-03-09 20:59:57 -07:00
Kris Nuttycombe
a74cc8b231
Remove sqlite-specific data organization from data access api.
2021-03-09 20:59:57 -07:00
Kris Nuttycombe
b5bbbb6f5a
Factor out nullifier update from database actions in scan_cached_blocks
2021-03-09 20:59:57 -07:00
Jack Grigg
463e252af4
Fix more intra-doc links
2021-03-04 23:01:42 +00:00
Jack Grigg
464b533937
Bump MSRV to 1.47.0
...
We'll be needing it shortly for ff et al.
2021-03-04 17:32:57 +00:00
Jack Grigg
5242718b8f
bs58 0.4
2021-03-04 17:03:14 +00:00
Jack Grigg
1f6f45bbe7
Add details of unreleased changes to changelogs
2021-02-22 16:59:07 +00:00
str4d
9f14c757e6
Merge pull request #340 from str4d/changelogs
...
Add changelogs to the crates
2021-02-14 02:34:20 +13:00
Jack Grigg
bd3e18984c
Changelogs: s/project/library
2021-02-04 15:16:32 +00:00
Jack Grigg
b5c7d7f1e7
Add changelogs to the crates
...
The changelogs are accurate for the 0.4.0 release tag, but don't yet
include changes before or after that tag.
2021-02-04 15:13:22 +00:00
Kris Nuttycombe
98530184c0
Fix clippy complaints.
2021-02-03 14:27:31 -07:00
Kris Nuttycombe
df09877b11
Use an enum to distinguish between sent and received notes in sqlite backend.
2021-01-20 10:51:27 -07:00
Kris Nuttycombe
7f43b05e21
Update protobuf dependency version.
2021-01-19 13:01:51 -07:00
Kris Nuttycombe
779a5670e0
Improve data access api method documentation.
2021-01-19 12:45:55 -07:00
Kris Nuttycombe
8fe6f0fdfd
Remove default get_balance method.
...
Recommended by @str4d
2021-01-19 08:25:10 -07:00
Kris Nuttycombe
8e8ed2bb4f
Rename get_verified_balance -> get_balance_at
2021-01-15 12:00:14 -07:00
Kris Nuttycombe
c70a9ed81f
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: str4d <thestr4d@gmail.com>
2021-01-15 11:57:58 -07:00
Kris Nuttycombe
f59124ce19
Pass account ID with IVK.
2021-01-15 10:18:43 -07:00
Kris Nuttycombe
8a7d051138
Rustfmt
2021-01-13 18:06:42 -07:00
Kris Nuttycombe
a3f9fa788d
Update data_api doctests for error handling changes.
2021-01-13 15:43:39 -07:00
Kris Nuttycombe
5a21580f13
Correct the hierarchy of errors.
2021-01-13 15:20:11 -07:00
Kris Nuttycombe
6c6b05fa9b
Trivial rename.
2021-01-12 21:32:46 -07:00
Kris Nuttycombe
ce06db197a
Rustfmt.
2021-01-12 21:10:34 -07:00
Kris Nuttycombe
eef2d5944b
Use a slice literal instead of a vec in put_received_note
2021-01-12 21:06:57 -07:00
Kris Nuttycombe
fcb2f7a433
Use collect instead of collecting a vec manually.
2021-01-12 21:04:42 -07:00
Kris Nuttycombe
011eda364f
Add get_spendable_notes method to WalletRead
2021-01-12 20:42:04 -07:00
Kris Nuttycombe
48f226f8b5
Move decoding errors to sqlite crate.
...
Also move dependency on params out of wallet read/write methods.
The result is cleaner because these parameters are only required
for backend-specific encoding and decoding operations.
2021-01-12 20:07:02 -07:00
Kris Nuttycombe
ca4567b275
More data api documentation.
2021-01-12 13:55:22 -07:00
Kris Nuttycombe
34bc655f64
Add MockBlockSource and MockWalletDB
...
These can readily be made into an in-memory wallet implementation.
2021-01-12 12:55:24 -07:00
Kris Nuttycombe
7d92150965
Fix test compilation with WalletWrite changes.
2021-01-11 18:13:40 -07:00
Kris Nuttycombe
aad2e174c1
Consistently use nullifier and AccountId newtypes.
2021-01-08 21:49:38 -07:00
Kris Nuttycombe
56adbbb545
Make `WalletWrite` depend upon `WalletRead`.
2021-01-08 12:49:10 -07:00
Kris Nuttycombe
e96578195a
Not sure how this happened.
2020-12-03 10:10:37 -07:00
Kris Nuttycombe
4e608216c1
Do not create nested transaction in rewind_to_height
...
Fixes #321
2020-12-02 14:36:56 -07:00
Kris Nuttycombe
d77784eba8
Do not update `is_change` in received_notes with null values.
...
Fixes #322
2020-12-02 13:16:02 -07:00
Kris Nuttycombe
7ac08631b9
Fix doctest imports.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
cf2dae8af0
Add hrp_sapling_extended_spending_key to Parameters trait.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
1fd74d0a71
Improve naming for wallet/block database connections.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
897a70dd9e
Simplify block source & clean up chain validation.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
8a215d67fe
Improve wallet "database" trait names.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
b2cc240454
Do not require wallet database for chain scan.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
e6de7c07f0
Use <module_name>.rs instead of <module_name>/mod.rs
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
f742895118
Fix test/doctest errors.
2020-12-02 09:46:17 -07:00
Kris Nuttycombe
2e2f34b033
Use named_params macro for query_and_then_named (less error-prone)
2020-12-02 09:46:17 -07:00