Kris Nuttycombe
e9406201d5
Merge pull request #663 from nuttycom/sapling_key_cleanup
...
Fix Sapling key organization.
2022-10-05 14:35:16 -06:00
Kris Nuttycombe
d6484da088
Minor documentation fixes.
...
Co-authored-by: ying tong <yingtong@z.cash>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-10-05 13:02:21 -06:00
Kris Nuttycombe
60785a1d7a
Fix Sapling key organization.
...
This change moves Sapling-specific key generation into a
submodule of `zip32`. Public reexports are used to keep the
existing API consistent.
2022-10-03 20:28:04 -06:00
Kris Nuttycombe
ab6f7929b4
Merge pull request #660 from nuttycom/upgrade_rusqlite
...
Upgrade rusqlite to version 0.25
2022-10-03 18:27:18 -06:00
Kris Nuttycombe
f7aa7b2c84
Upgrade rusqlite to version 0.25
2022-10-03 08:12:37 -06:00
Kris Nuttycombe
81e0d482d0
Merge pull request #656 from nuttycom/sqlite/migration_organization
...
Move wallet migrations into individual modules.
2022-10-03 08:10:08 -06:00
Kris Nuttycombe
3b283ca445
Merge pull request #662 from str4d/remove-direct-ff-dep
...
Remove direct `ff` dependency
2022-10-02 17:14:06 -06:00
Jack Grigg
e54e3f21e8
zcash_client_sqlite: Remove direct ff dependency
2022-10-02 23:16:44 +01:00
Jack Grigg
b3f13020ac
zcash_client_backend: Remove direct ff dependency
2022-10-02 23:15:51 +01:00
Jack Grigg
620ff21005
zcash_proofs: Remove direct ff dependency
2022-10-02 23:14:14 +01:00
Kris Nuttycombe
ccf9e00b00
Move wallet migrations into individual modules.
2022-10-02 14:20:17 -06:00
Kris Nuttycombe
4e631697c4
Merge pull request #653 from nuttycom/bug/wallet_max_account
...
zcash_client_sqlite: fix wallet::get_max_account_id
2022-09-28 09:14:40 -06:00
Kris Nuttycombe
2c16f78fee
zcash_client_sqlite: fix wallet::get_max_account_id
...
This had the same bug as was fixed in 5b8ec380a0
2022-09-26 16:48:58 -06:00
str4d
c06760e985
Merge pull request #648 from zcash/dependabot/github_actions/codecov/codecov-action-3.1.1
...
build(deps): bump codecov/codecov-action from 3.1.0 to 3.1.1
2022-09-26 17:34:17 +01:00
str4d
2381a515dd
Merge pull request #652 from zcash/scanner-memuse
...
`zcash_client_backend`: Refactor tracking of `BatchRunner` heap memory usage
2022-09-26 17:32:49 +01:00
Jack Grigg
035e53990c
zcash_client_backend: Improve estimation of `rayon` spawned task size
2022-09-24 21:01:19 +00:00
Jack Grigg
913aa0a988
zcash_client_backend: Correctly track heap usage of batch items
...
As of zcash/librustzcash#633 , `SaplingDomain::IncomingViewingKey` now
allocates memory internally, and this memory persists as long as the
`BatchRunner` is alive. Now that we have decoupled the measurement of
heap usage for batch tasks from their internals, we can add bounds to
all of the generic parameters of `Batch` to enable correctly measuring
their actual heap usage.
We also add `DynamicUsage` impls for a bunch of `zcash_primitives` types
that will be used with `BatchRunner` (or its equivalent implementation
in `zcashd`) by callers.
2022-09-24 21:01:19 +00:00
Jack Grigg
c98f04330d
zcash_client_backend: Move heap tracking of batch tasks behind a trait
...
This enables the heap usage measurements to be conditionally enabled by
the `BatchRunner` user. Importantly, when heap usage measurements are
not enabled, the `DynamicUsage` bound on `Batch` is not required.
This refactor also fixes a bug in the prior implementation. We were
counting the heap usage of a task when it started to run, but the item
may have been in the `rayon` work-stealing queues for a non-negligible
period before then. We now count the heap usage immediately before
spawning the task into the `rayon` thread pool.
2022-09-24 17:20:55 +00:00
Jack Grigg
fe258ca120
zcash_client_backend: Count `tags` in `impl DynamicUsage for Batch`
2022-09-24 13:06:04 +00:00
Daira Hopwood
f78c91fd0c
Merge pull request #651 from daira/update-chacha20poly1305
...
Update chacha20poly1305 dependency in zcash_primitives to 0.10
2022-09-23 22:12:32 +01:00
Daira Hopwood
e53439a236
Update chacha20poly1305 dependency in zcash_primitives to 0.10,
...
consistent with zcash_note_encryption.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-09-23 21:52:40 +01:00
Kris Nuttycombe
774ffadf5a
Merge pull request #649 from zcash/batch-scanner-memory-reduction
...
Batch scanner memory reduction
2022-09-22 07:44:05 -06:00
Jack Grigg
9a1d61cb4e
zcash_client_backend: Only store successes in batch scanner
...
Previously we were sending an `Option<DecryptedNote>` from each `Batch`
back to its parent `BatchRunner`. However, this requires allocating
sufficient space in the channel to handle the case where every output
can be decrypted. In general this will not be the case, and we can
instead signal "nothing decrypted" by just dropping the channel sender.
This reduces the post-batch-scanning memory usage of `BatchRunner` from
being linear in the number of on-chain outputs, to being linear in the
number of outputs for the wallet.
Ported from zcash/zcash@f7f6c2070d .
2022-09-21 23:51:40 +00:00
Jack Grigg
533722b70e
zcash_client_sqlite: Add dynamic memory usage tracking to `BatchRunner`
...
Ported from zcash/zcash@e88ea11055 .
2022-09-21 23:38:44 +00:00
dependabot[bot]
dc2118e010
build(deps): bump codecov/codecov-action from 3.1.0 to 3.1.1
...
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action ) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases )
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md )
- [Commits](https://github.com/codecov/codecov-action/compare/v3.1.0...v3.1.1 )
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-20 05:16:17 +00:00
Kris Nuttycombe
6cb0d21219
Merge pull request #645 from nuttycom/fix_beta_lints
...
Fix problems identified by clippy's beta lints
2022-09-17 15:49:49 -06:00
Kris Nuttycombe
03c3370de8
Fix problems identified by clippy's beta lints
2022-09-17 08:57:37 -06:00
Kris Nuttycombe
d1f0c12c02
Merge pull request #644 from zcash/fix-fsblockdb-cached-height
...
zcash_client_sqlite: Fix `FsBlockDb::get_max_cached_height`
2022-09-16 21:19:25 -06:00
Jack Grigg
5b8ec380a0
zcash_client_sqlite: Fix `FsBlockDb::get_max_cached_height`
...
The `MAX` SQLite function returns `null` when the table is empty. The
code was expecting zero rows to be returned in this case, and was trying
to parse the `null` as an integer.
2022-09-17 02:40:19 +00:00
Kris Nuttycombe
bc626156c3
Merge pull request #641 from nuttycom/upgrade_chacha20
...
Upgrade chacha20poly1305 dependency to version 0.10
2022-09-16 14:39:32 -06:00
Kris Nuttycombe
29220c716f
Remove `zcash_primitives` as a zcash_note_encryption dev dependency.
...
This was only used to provide example code for Sapling usage of
the `NoteEncryption` struct; this example code has been moved
to `sapling::note_encryption`.
2022-09-16 12:52:00 -06:00
Kris Nuttycombe
72b5e6dfc3
Upgrade chacha20poly1305 dependency to version 0.10
...
Also upgrade the `chacha20`, `cipher`, and `subtle` dependency
versions.
2022-09-16 12:52:00 -06:00
Kris Nuttycombe
d3add8cca4
Merge pull request #596 from nuttycom/wallet/fs_block_source
...
Add a BlockSource implementation that reads blocks from files in the filesystem.
2022-09-15 09:55:14 -06:00
Kris Nuttycombe
f8fd27653c
Add a BlockSource implementation that reads blocks from files in the filesystem.
...
Also, this adds functionality to create and insert records into the
block metadata db that is used as the source for which blocks to read.
2022-09-15 08:27:26 -06:00
str4d
84835035d5
Merge pull request #633 from daira/prepare-epks-and-ivks
...
Add APIs to prepare ivk and epk and implement them for Sapling
2022-09-15 12:45:33 +01:00
Daira Hopwood
20e869f501
zcash_primitives: Use prepared epk and ivk in Sapling note decryption
...
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-09-15 03:40:45 +01:00
Daira Hopwood
515b0a40ec
zcash_note_encryption: Add API to prepare epk.
...
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-09-15 03:22:41 +01:00
Daira Hopwood
d77ed9c6cf
Change batch decryption benchmark to cover more cases of (nivks, noutputs).
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-09-15 03:20:14 +01:00
Kris Nuttycombe
3bc8627e2b
Merge pull request #637 from nuttycom/wallet/create_account
...
Add WalletWrite::create_account function
2022-09-14 14:30:34 -06:00
Kris Nuttycombe
d086c57f2f
Make init_accounts_table only permit sequential account identifiers.
...
Also, check to ensure that account creation does not exceed the
maximum account identifier value.
2022-09-14 13:55:31 -06:00
Kris Nuttycombe
75eb082203
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2022-09-14 12:20:39 -06:00
Kris Nuttycombe
abe452d8a5
Merge pull request #638 from zcash/ci-tarpaulin-llvm-engine
...
CI: Migrate to `cargo-tarpaulin` branch with LLVM source coverage engine
2022-09-14 11:05:02 -06:00
Jack Grigg
d21b18d245
CI: Migrate to `cargo-tarpaulin` branch with LLVM source coverage engine
2022-09-14 15:55:12 +00:00
Kris Nuttycombe
d0062a87d4
Add WalletWrite::create_account function
2022-09-13 18:58:28 -06:00
Kris Nuttycombe
d4cbc04c16
Merge pull request #636 from zcash/batch-scanner-tag-ivks
...
zcash_client_backend: Add tags to IVKs in the batch scanner
2022-09-13 16:49:10 -06:00
Jack Grigg
f7b7760051
zcash_client_backend: Add some typedefs for complex types
2022-09-13 21:58:32 +00:00
Jack Grigg
8f03208439
zcash_client_backend: Add tags to IVKs in the batch scanner
...
This removes the dependency on `SaplingIvk::to_repr()`, and enables us
to alter the type of `D::IncomingViewingKey` to improve the performance
of batch scanning.
For the welding rig, we already annotate the viewing keys with
`AccountId`, so we use `(AccountId, Scope)` as the tag.
2022-09-13 21:40:58 +00:00
Kris Nuttycombe
b5908dc964
Merge pull request #632 from nuttycom/data_api/get_next_address
...
Replace `get_address` with `get_current_address` and `get_next_available_address`
2022-09-12 18:43:38 -06:00
Kris Nuttycombe
03b0ff7e0a
Replace `get_address` with `get_current_address` and `get_next_available_address`
...
This updates the data access API to provide diversified address
functionality. In order to support this change, the addresses table
is updated to store diversifier index information in big-endian order
to allow sorting by diversifier index, and account initialization
is updated to store the diversifier index accordingly. The currently
unreleased `addresses_table` migration is updated to reflect this
change.
2022-09-12 17:58:22 -06:00
Kris Nuttycombe
306faeee17
Merge pull request #620 from nuttycom/wallet/add_transaction_views
...
Add views that join transactions & notes for Android SDK support.
2022-09-12 16:36:54 -06:00