Kris Nuttycombe
e27dcf498e
Use the bundled prover rather than local params files for testing by default.
...
`fetch_params.sh` is now deprecated and the bundled proving parameters
from `wagyu-zcash-parameters` are used everywhere, so the tests should
follow suit.
Fixes #1016
2023-11-03 16:13:34 -06:00
Daira Emma Hopwood
77ceb879e6
Merge remote-tracking branch 'origin/release-zcash_client_sqlite-0.8.1'
2023-10-19 01:16:24 +01:00
Sean Bowe
b88adb4e82
Release 0.8.1
2023-10-18 14:58:03 -06:00
Kris Nuttycombe
c16e777222
zcash_client_sqlite: Fix zcash_proofs dev-dependency
2023-09-28 17:39:59 -06:00
Jack Grigg
7e89300db9
Move common package and dependency configs into workspace config
...
The MSRV for the main crates is 1.65, which is higher than the Rust
version that stabilised workplace dependencies (1.64). The implicit MSRV
for the component crates is still lower than this, so we don't migrate
these crates.
2023-09-26 22:01:32 +00:00
Jack Grigg
7a47f8494c
zcash_client_sqlite 0.8.0
2023-09-25 18:20:44 +00:00
Jack Grigg
4bc65d66b1
zcash_client_backend 0.10.0
2023-09-25 18:19:52 +00:00
Jack Grigg
1a1abb62aa
zcash_proofs 0.13.0
2023-09-25 15:11:00 +00:00
Jack Grigg
d35d0961ab
zcash_primitives 0.13.0
2023-09-25 15:06:57 +00:00
Jack Grigg
30c58ebfb2
zcash_client_sqlite 0.8.0-rc.5
2023-09-22 23:26:43 +01:00
Jack Grigg
4afc24af6a
zcash_client_backend 0.10.0-rc.4
2023-09-22 23:25:19 +01:00
Kris Nuttycombe
e7b3e9c04e
zcash_client_sqlite 0.8.0-rc.4
2023-09-19 15:01:52 -06:00
Kris Nuttycombe
6d2c53111a
zcash_client_backend 0.10.0-rc.3
2023-09-19 15:00:51 -06:00
Kris Nuttycombe
1575f2db88
zcash_client_backend: make the `SpanningTree` type usable outside of `zcash_client_sqlite`
...
This adds the `data_api::scanning::spanning_tree` module under
a new `unstable-spanning-tree` feature flag, making it available to
other implementations who want to be able to write their own storage
backends without having to reinvent the spanning tree logic.
2023-09-18 11:22:35 -06:00
Kris Nuttycombe
b32aa3d2a6
Fix missing zcash_client_backend feature dependency.
2023-09-12 09:35:18 -06:00
Kris Nuttycombe
e6b34eeaa2
zcash_client_sqlite 0.8.0-rc.2
2023-09-12 08:32:34 -06:00
Kris Nuttycombe
24068cd63a
zcash_client_backend 0.10.0-rc.2
2023-09-12 08:31:39 -06:00
Kris Nuttycombe
771e4013c3
Move shardtree serialization to the `zcash_client_backend` crate
2023-09-11 18:18:08 -06:00
Jack Grigg
62e3299255
zcash_client_sqlite 0.8.0-rc.1
2023-09-08 19:58:46 +00:00
Jack Grigg
9db68c76ee
zcash_client_backend 0.10.0-rc.1
2023-09-08 19:50:53 +00:00
Jack Grigg
87ca71b8db
zcash_proofs 0.13.0-rc.1
2023-09-08 19:48:55 +00:00
Jack Grigg
67b84c25e0
zcash_primitives 0.13.0-rc.1
2023-09-08 19:45:54 +00:00
Jack Grigg
94c1f2413d
Migrate to `incrementalmerkletree 0.5`, `orchard 0.6`
2023-09-08 18:57:25 +00:00
Jack Grigg
6e34e2d113
zcash_client_backend: Migrate to `prost 0.12`, `tonic 0.10`
2023-09-08 16:21:48 +00:00
Kris Nuttycombe
3be55ae964
zcash_client_backend: Add test-only convenience methods for default addresses.
2023-08-28 14:05:17 -06:00
Kris Nuttycombe
0ee45e40c4
zcash_client_sqlite: Replace Either-based definition of `wallet::commitment_tree::Error` with a bespoke error type.
2023-08-04 15:01:15 -06:00
Jack Grigg
99ecdf3a89
zcash_client_sqlite: Build subtrees from new commitments in a threadpool
...
The new `multicore` feature flag can be used to disable this behaviour.
2023-07-25 15:59:03 +00:00
Kris Nuttycombe
9f2bb94a5e
zcash_client_sqlite: Add shard persistence to wallet migration.
2023-06-29 15:35:18 -06:00
Kris Nuttycombe
ed2e22b737
zcash_client_sqlite: Add shard serialization & parsing
2023-06-29 15:35:18 -06:00
Kris Nuttycombe
3e358bc1c9
zcash_client_backend: Use `shardtree` for note commitments in block scanning.
...
Also adds a skeleton `zcash_client_sqlite` implementation of
`shardtree::ShardStore` and a skeleton migration for related
database changes.
2023-06-29 15:35:18 -06:00
Kris Nuttycombe
06a7849cb7
Merge pull request #859 from nathan-at-least/rustsec-2022-0090-fix
...
[Impacts API versioning] Update dependencies to resolve RUSTSEC-2022-0090
2023-06-19 12:22:04 -06:00
Nate Wilcox
5ba44b9019
Update dependencies to resolve https://rustsec.org/advisories/RUSTSEC-2022-0090
2023-06-17 12:44:35 -07:00
Kris Nuttycombe
bf7f05282f
zcash_client_sqlite: Fix missing incrementalmerkletree feature dependency
2023-06-16 15:09:07 -06:00
Kris Nuttycombe
e7fb276b04
Release zcash_proofs 0.12.0
2023-06-06 15:56:29 -06:00
Kris Nuttycombe
f9cacc5b21
Release zcash_primitives 0.12.0
2023-06-06 15:56:28 -06:00
Kris Nuttycombe
60ac1070c5
Release zcash_address version 0.3.0
2023-06-06 15:53:16 -06:00
Kris Nuttycombe
75e529eea6
Upgrade to `bs58 0.5`
2023-06-06 15:53:14 -06:00
Kris Nuttycombe
3dd0c63095
Update to `incrementalmerkletree 0.4`, `orchard 0.5`
2023-06-06 14:27:39 -06:00
Kris Nuttycombe
4b3ea857df
Merge pull request #818 from nathan-at-least/resolve-RUSTSEC-2023-0018
...
Bump `tempfile` to 3.5.0 to mitigate RUSTSEC-2023-0018…
2023-05-22 20:19:43 -06:00
Kris Nuttycombe
b341903ae2
Merge pull request #842 from zcash/msrv-1.65
...
Bump MSRV for `zcash_primitives` and dependents to 1.65
2023-05-19 09:28:43 -06:00
Kris Nuttycombe
d4073cb2ec
Merge remote-tracking branch 'upstream/main' into hotfix/zcash_client_sqlite-0.7.1
2023-05-18 14:56:14 -06:00
Kris Nuttycombe
0780744443
Return the empty memo when memo is not present.
...
Memos may be absent for both sent and received notes in cases where only
compact block information has been used to populate the wallet database.
This fixes a potential crash in the case that we attempt to decode a
SQLite `NULL` as a byte array.
Fixes #384
(cherry picked from commit d99b4d4d6e
)
2023-05-18 14:34:27 -06:00
Jack Grigg
8681b56d52
Bump MSRV for `zcash_primitives` and dependents to 1.65
2023-05-16 15:37:07 +00:00
Kris Nuttycombe
87212b6137
Merge branch 'main' into resolve-RUSTSEC-2023-0018
2023-05-12 09:08:59 -06:00
Kris Nuttycombe
d37e6adee5
Merge pull request #783 from nuttycom/upgrade_bridgetree
...
Upgrade `zcash_primitives` to use updated `incrementalmerkletree` types.
2023-05-08 12:00:00 -06:00
str4d
579ab92b93
Merge branch 'main' into 823-secp256k1-0.26
2023-05-08 18:53:33 +01:00
Kris Nuttycombe
1f9747e15f
Move merkle tree types to the `incrementalmerkletree` crate.
...
This removes the `CommitmentTree`, `IncrementalWitness`, and
`MerklePath` types in favor of equivalent versions available
from the `incrementalmerkletree` crate.
2023-05-04 12:30:56 -06:00
Jack Grigg
3db0395e5b
zcash_client_sqlite 0.7.0
2023-04-28 01:47:20 +00:00
Jack Grigg
8b53d4a0c4
zcash_client_backend 0.9.0
2023-04-28 01:46:28 +00:00
Jack Grigg
ec1c1bcf21
Migrate to `secp256k1 0.26`, `hdwallet 0.4`
...
Closes zcash/librustzcash#823 .
2023-04-19 19:33:34 +00:00
Jack Grigg
adeb19ab40
zcash_client_sqlite 0.6.0
2023-04-15 00:02:00 +00:00
Jack Grigg
4dbb9c01e5
zcash_client_backend 0.8.0
2023-04-15 00:00:40 +00:00
Jack Grigg
4678ff8299
zcash_proofs 0.11.0
2023-04-14 23:58:53 +00:00
Jack Grigg
a419b56e80
zcash_primitives 0.11.0
2023-04-14 23:56:16 +00:00
Nate Wilcox
25f03f8dc0
Bump `tempfile` to 3.5.0 to mitigate RUSTSEC-2023-0018…
...
See https://rustsec.org/advisories/RUSTSEC-2023-0018
This is one of multiple audit failures reported in: https://github.com/zcash/librustzcash/issues/816
2023-04-14 16:40:13 -07:00
Kris Nuttycombe
d6fafa291b
Update Sapling note encryption for `zcash_note_encryption 0.3.0`
...
Fixes zcash/librustzcash#455
2023-03-21 11:09:38 -06:00
Kris Nuttycombe
c696069f93
Bump zcash_note_encryption to version 0.3.0 for release.
...
This removes the path-based dependencies on the `zcash_note_encryption`
crate in favor of using versioned dependencies locally. This better
reflects the future state in which `zcash_note_encryption` is factored
out of the workspace and maintained in a separate repository.
2023-03-20 16:16:34 -06:00
Kris Nuttycombe
7c1a4c898d
Fix wasm32 CI runner.
...
The `halo2_proofs/multicore` flag must be disabled when running wasm
builds; this ensures that we do not accidentally include it as a
transitive dependency when building with `--no-default-features`.
2023-03-20 14:39:07 -06:00
Kris Nuttycombe
77fbd8cb4f
Update dependencies to reflect changes in ff 0.13
2023-03-20 14:35:45 -06:00
Jack Grigg
5f7cae1762
zcash_client_sqlite 0.5.0
2023-02-01 02:12:47 +00:00
Jack Grigg
d8cb20e091
zcash_client_backend 0.7.0
2023-02-01 02:11:56 +00:00
Jack Grigg
24b5e04c8d
zcash_proofs 0.10.0
2023-02-01 02:10:42 +00:00
Jack Grigg
9852c31970
zcash_primitives 0.10.0
2023-02-01 02:10:42 +00:00
Jack Grigg
7f970bb82f
Use `EphemeralSecretKey, EphemeralPublicKey, SharedSecret` types in APIs
2023-01-24 15:02:49 +00:00
Jack Grigg
49b1cb3e69
Bump MSRV for `zcash_primitives` and dependents to 1.60
...
The MSRVs of the component crates are left as-is, partly because our
dependencies don't require us to bump them, and partly because those
crates have no pending changes and are relatively stable. We also plan
to split the component crates out into a separate repository, where it
will be easier to have a separate MSRV.
Closes zcash/librustzcash#759 .
2023-01-19 23:48:24 +00:00
Jack Grigg
a3e612e9de
zcash_client_sqlite 0.4.2
2022-12-13 05:31:40 +00:00
Jack Grigg
9d50c0726e
zcash_client_sqlite 0.4.1
2022-12-06 08:19:14 +00:00
Jack Grigg
7e71cc5353
Add `tracing` spans to light client chain scanning
...
This enables downstream users to profile how much time is spent in each
of the main subcomponents of the current chain scanner.
2022-12-06 08:17:49 +00:00
Jack Grigg
86cef4158b
zcash_client_sqlite 0.4.0
2022-11-11 20:47:21 +00:00
Jack Grigg
98dd130f3a
zcash_client_backend 0.6.0
2022-11-11 20:47:21 +00:00
Jack Grigg
c03ef4926a
zcash_proofs 0.9.0
2022-11-11 20:39:36 +00:00
Jack Grigg
c3b6e5a72a
zcash_primitives 0.9.0
2022-11-11 20:37:55 +00:00
Kris Nuttycombe
fa8f5771cc
Upgrade to schemer-rusqlite version 0.2.1
2022-11-10 19:12:38 -07:00
Kris Nuttycombe
847ba49761
Add dust note detection to change selection.
...
The change selection algorithm has the most useful information for
determining whether or not a note is dust, so this adds a new error case
to `ChangeError` that allows the change selection to report the presence
of input notes without economic value back to its caller.
2022-11-10 12:18:30 -07:00
Kris Nuttycombe
9a7dc0db84
Add traits for fee estimation and input selection
...
This adds a set of abstractions that allow wallets to provide
independent strategies for fee estimation and note selection, and
implementations of these strategies that perform these operations in the
same fashion as the existing `spend` and `shield_transparent_funds`
functions.
This required a somewhat hefty rework of the error handling in
zcash_client_backend. It fixes an issue with the error types whereby
callees needed to have a bit too much information about the error
types produced by their callers.
Reflect the updated note selection and error handling in zcash_client_sqlite.
2022-11-10 12:17:59 -07:00
Jack Grigg
379b703e6b
zcash_client_backend: Switch from `protobuf 2` to `prost 0.11`
...
The latter is maintained by the Tokio developers, and has easy
integration with the `tonic` gRPC library which is actively maintained.
2022-11-02 06:21:38 +00:00
Jack Grigg
3720b45feb
Categorise dependencies in `Cargo.toml` files
...
This should make it easier to upgrade dependencies in future.
2022-11-01 09:02:54 +00:00
Jack Grigg
a0016588ac
Remove unused dependencies
...
Some were only used by tests, others weren't used at all.
2022-11-01 09:02:27 +00:00
Sean Bowe
bd7f9d7c3c
Bump zcash_encoding and zcash_address crate versions to 0.2.
2022-10-19 16:51:59 -06:00
Sean Bowe
176e21b015
Update zcash_primitives to orchard 0.3; release zcash_primitives and zcash_proofs 0.8.
2022-10-19 13:32:51 -06:00
Jack Grigg
8842de18cc
Remove unused dependencies
...
These were mostly detected with `cargo-udeps`, for which I've also added
exclusions for the dependencies it can't detect are used in doc-tests.
2022-10-13 20:06:52 +00:00
Kris Nuttycombe
bd8472535c
Add a test for unified address derivation.
2022-10-07 20:37:39 -06:00
Kris Nuttycombe
f7aa7b2c84
Upgrade rusqlite to version 0.25
2022-10-03 08:12:37 -06:00
Jack Grigg
e54e3f21e8
zcash_client_sqlite: Remove direct ff dependency
2022-10-02 23:16:44 +01:00
Kris Nuttycombe
95610f7b4f
Add fee to the transactions table & compute correct net_value in v_transactions.
2022-09-09 16:12:29 -06:00
Jack Grigg
7112ed9da5
zcash_client_backend: Add `WalletReadTransparent::get_transparent_receivers`
...
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2022-09-08 20:24:42 +00:00
Kris Nuttycombe
16a0e43f2d
Update to Rust 2021 and explicitly set MSRVs
2022-09-02 12:05:09 -06:00
Jack Grigg
586b7e5bb0
zcash_client_backend: Add `WalletWrite::remove_tx` method
...
This is to replace the database mutations in the Android SDK. It is
placed behind an `unstable` feature flag until we are satisfied that it
is suitable as a general-purpose API (or replace it).
2022-08-29 21:32:18 +00:00
Kris Nuttycombe
5d817f6120
Update to schemer 0.2
2022-08-19 09:55:55 -06:00
Kris Nuttycombe
e9db8d5b01
Use `secrecy` when handling seed phrases in migrations code.
2022-08-18 10:15:58 -06:00
Kris Nuttycombe
7c5b320108
Introduce wallet database schema migrations.
...
This replaces the current wallet initialization code with a migration
that brings the database up to the state produced by release 0.3.0.
A subsequent commit will add migrations that correctly produce the
database state as of zcash/librustzcash@602270cb1f .
Fixes #369
2022-08-18 10:15:58 -06:00
Jack Grigg
6f4de16b97
zcash_proofs 0.7.0
2022-06-24 17:00:39 +00:00
Jack Grigg
e952ff637e
zcash_primitives 0.7.0
2022-06-24 17:00:39 +00:00
Jack Grigg
1161fc963f
zcash_proofs 0.6.0
2022-05-10 23:33:05 +00:00
Jack Grigg
3ecfd26d79
zcash_primitives 0.6.0
2022-05-10 23:33:05 +00:00
Jack Grigg
144512b547
Migrate to `ff 0.12`
2022-05-06 20:03:49 +00:00
Kris Nuttycombe
9416ab3a3e
Update to secp256k1 v0.21
2022-04-06 16:09:45 -06:00
Jack Grigg
511ad71a05
Bump `protobuf` to `~2.27.1`
...
`protobuf 2.26` raised its MSRV to 1.52.1, which we are now above.
`protobuf 2.27.0` raised its MSRV to 1.55.0, but this was reverted in
`protobuf 2.27.1`. In any case, it's clear this dependency bumps MSRV in
minor releases, so we should use tilde requirements for it.
2022-02-15 23:37:52 +00:00
Kris Nuttycombe
41810e5be9
Merge remote-tracking branch 'upstream/non-consensus-changes-on-branchid-37519621' into autoshield-poc-daa
2022-02-02 10:32:35 -07:00
Jack Grigg
e9ecb19143
Restrict cargo to `protobuf >=2.20,<2.26`
...
`protobuf 2.26.0` bumped its MSRV to 1.52.1, which is incompatible with
our current MSRV.
2022-02-01 14:26:47 +00:00