Commit Graph

1008 Commits

Author SHA1 Message Date
Jack Grigg a5e467f335
Merge pull request #1451 from zcash/devtools
Import `zcash-inspect` from `zcash/zcash` into a `devtools` crate
2024-07-22 19:31:32 +01:00
Kris Nuttycombe eceb8c7ff5
Merge pull request #1442 from hattizai/patch001
chore: remove duplicate words
2024-07-22 11:49:24 -06:00
Jack Grigg 8f26eb9de4 devtools: Integrate `zcash-inspect` into workspace 2024-07-22 13:56:59 +00:00
Kris Nuttycombe 24b6d50d77 Apply suggestions from code review
Co-authored-by: Jack Grigg <thestr4d@gmail.com>
2024-07-17 07:51:58 -06:00
Daira-Emma Hopwood 27ca6e44d6 Remove unneeded `impl SealedChangeLevelKey for EphemeralIvk`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 20:13:35 +01:00
Daira-Emma Hopwood 6bc22f411e Documentation fixes and improvements.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 20:13:35 +01:00
Daira-Emma Hopwood 01ff201ffb Minor changes responding to review comments.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-07-04 05:24:32 +01:00
hattizai 2244e0ff77 remove duplicate words 2024-07-03 11:01:40 +08:00
Daira-Emma Hopwood 9c082dca3e `zcash_primitives::transaction::fees::zip317::FeeRule::non_standard` has
been deprecated, because in general it can calculate fees that violate
ZIP 317, which might cause transactions built with it to fail. Maintaining
the generality of the current implementation imposes ongoing maintenance
costs, and so it is likely to be removed in the near future.

Use `transaction::fees::zip317::FeeRule::standard()` instead to comply
with ZIP 317.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-28 19:03:08 +01:00
Daira-Emma Hopwood b77813933a Refactor ephemeral output-related parameters to balance calculation.
This now only supports a single ephemeral input and/or output when
constructing a proposal (multiple ephemeral outputs are still supported
when creating transactions).

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-27 01:45:45 +01:00
Daira-Emma Hopwood eb8846162c Address review comment: `EphemeralIvk` should not implement `IncomingViewingKey`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 2fae4bb244 ZIP 320 implementation.
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Co-authored-by: Jack Grigg <str4d@electriccoin.co>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-25 08:40:08 +01:00
Daira-Emma Hopwood 41c30ef44d "child index" -> "address index" where applicable.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:24:33 +01:00
Daira-Emma Hopwood 9881e811ea Miscellaneous documentation improvements.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:24:33 +01:00
Daira-Emma Hopwood 6f4a3b107e Address a review comment concerning `Vector::serialized_size`.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:06:42 +01:00
Daira-Emma Hopwood 9881861228 Add `zcash_encoding::{CompactSize, Vector}::serialized_size` and
`zcash_primitives::legacy::Script::serialized_size`. Use the latter in
`zcash_primitives::transaction::fees::transparent::OutputView::serialized_size`.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:06:39 +01:00
Daira-Emma Hopwood 17af8e32e8 Refactor `FeeRule::fee_required` to take the sizes of transparent
inputs and outputs.

Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:05:49 +01:00
Daira-Emma Hopwood 6d35583a4b Add `OutPoint::fake()` helper.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-18 21:03:22 +01:00
Jack Grigg f54ee4abde Migrate from `hdwallet` to `bip32`
As part of this, we migrate to `secp256k1 0.27`. This version does not
bump `secp256k1-sys`, so remains compatible with the `libsecp256k1`
revision used in `zcashd`.

The `zcash_primitives::legacy::keys::AccountPrivKey` encoding also
changes to preserve the transparent extended key metadata. Previously
the type was documented as such, but only encoded the private key and
chain code; the new encoding now matches the documentation. As a side
effect, the unstable encoding of `zcash_keys::keys::UnifiedSpendingKey`
also changes.

Closes zcash/librustzcash#1407.
Closes zcash/librustzcash#1408.
2024-06-15 00:04:37 +00:00
Daira-Emma Hopwood 4cd96f30a1 Fix clippy lints exposed by the MSRV bump to 1.70.0.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-06-12 14:51:29 +01:00
Jack Grigg aea38c991e pprof 0.13 2024-06-12 11:51:19 +00:00
Jack Grigg bffe6a4a10 Bump MSRV to 1.70 2024-06-12 10:58:17 +00:00
str4d 976a4d2d5c
Merge pull request #1392 from zcash/cargo-update-2024-05
Dependency updates
2024-05-24 16:56:53 +01:00
Jack Grigg f136535196 Merge branch 'main' into fix-sapling-flags 2024-05-23 20:41:29 +00:00
Jack Grigg 8b2188a0f3 zcash_primitives 0.15.1 2024-05-23 20:35:18 +00:00
Jack Grigg 7ca695ea3c Disable `sapling-crypto` default features by default
The only default-enabled feature flag in `sapling-crypto` is the
`multicore` feature flag, which we re-export in each crate that includes
proof creation. We need to disable it as a default feature of our
dependency in order to enable it to be correctly disabled when a user of
e.g. `zcash_primitives` disables its default features.
2024-05-23 20:32:29 +00:00
Daira-Emma Hopwood aa77be8830 Update dependencies (including to avoid a vulnerability warning for atty), bump MSRV to 1.66,
and fix new clippy lints for MSRV 1.66.

* tonic 0.10 -> 0.11
* tonic-build 0.10 -> 0.11
* cargo update
* cargo update -p home@0.5.9 --precise 0.5.5
* cargo update -p prost-build@0.12.4 --precise 0.12.3
* cargo update -p prost-types@0.12.4 --precise 0.12.3
* cargo update -p prost@0.12.4 --precise 0.12.3
* cargo update -p prost-derive@0.12.5 --precise 0.12.3
* cargo update -p half@2.4.1 --precise 2.2.1

(The precise updates avoid a further MSRV bump to 1.70.)

Remaining duplicates are currently unavoidable.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-05-20 13:35:27 +01:00
Daira-Emma Hopwood 6961819576 Document the removal of `zcash_primitives::zip339` in the CHANGELOG.
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-05-14 10:19:59 +01:00
Daira-Emma Hopwood bb6c3a6a1a Revert "ZIP 339 support."
This reverts commit d1443e5049.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-05-14 10:12:50 +01:00
Kris Nuttycombe bda72e36eb Put expensive tests behind an additional `expensive-tests` feature flag. 2024-03-25 13:27:42 -06:00
Kris Nuttycombe 4cf8cab6fc zcash_primitives release version 0.15.0 2024-03-25 08:45:23 -06:00
Jack Grigg 6898dbf094 Replace `unstable-nu6` and `zfuture` feature flags with cfg flags
Neither of these should have been feature flags, as they gate breaking
changes to the Zcash consensus rules (and in some ways are incompatible
with each other), while feature flags should be additive.
2024-03-10 18:42:39 +00:00
Kris Nuttycombe 5675a76f0d zcash_protocol: Use `BalanceError` instead of `()` for monetary range violations. 2024-03-05 13:59:26 -07:00
Kris Nuttycombe 51d4464472 Remove `network_type` calls that are obviated by the blanket impl. 2024-03-05 13:36:15 -07:00
Kris Nuttycombe b8aa5132c2 Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
2024-03-05 13:36:15 -07:00
Kris Nuttycombe 04fdac7931 zcash_primitives: Move the `memo` module to the `zcash_protocol` crate. 2024-03-05 13:36:15 -07:00
Kris Nuttycombe 4b18426fcd zcash_address: Use `zcash_protocol::consensus::NetworkType`
This inverts the dependency relationship between `zcash_protocol` and
`zcash_address`, permitting the network constants (primarily the HRPs)
defined in `zcash_protocol` to be used directly in `zcash_address`
instead of being duplicated.
2024-03-05 13:36:15 -07:00
Kris Nuttycombe 85d1ca251a zcash_primitives: Move the `local-consensus` module to the `zcash_protocol` crate. 2024-03-05 09:45:24 -07:00
Kris Nuttycombe 7188482225 zcash_protocol: Rename value amounts to `Zatoshis` and `ZatBalance` 2024-03-05 09:45:24 -07:00
Kris Nuttycombe 5e4d9abbce Move `Amount` and `NonNegativeAmount` types to the `zcash_protocol` crate. 2024-03-05 09:45:24 -07:00
Kris Nuttycombe bacfe3cb9d Move `zcash_primitives::{consensus, constants}` to the `zcash_protocol` crate 2024-03-05 09:45:24 -07:00
Jack Grigg 599aa45a56 zcash_primitives 0.14.0 2024-03-01 01:12:43 +00:00
Jack Grigg 92e54ddce2 Clean up zcash_primitives changelog 2024-02-22 23:38:15 +00:00
Jack Grigg e85c631dd3 Add missing entries to changelogs 2024-02-22 23:38:05 +00:00
Kris Nuttycombe 7a5852598e zcash_keys, zcash_client_backend: feature-flag off transparent-input WalletRead methods.
This also moves the `TransparentAddressMetadata` type behind the
`transparent-inputs` feature flag and performs associated cleanup.
2024-02-14 17:38:52 -07:00
Andrew Arnott 8f6afb2182
Update changelogs 2024-02-13 18:02:24 -07:00
Andrew Arnott 9f221f869d
Fail instead of swallow on database corruption 2024-02-13 11:39:06 -07:00
Andrew Arnott 8003a39e1b
Add test coverage 2024-02-13 11:39:06 -07:00
Andrew Arnott 918f5cc812
Change `WalletRead::get_transparent_receivers` signature
It needn't return the account id that was given as an input, and it shouldn't return an 11-byte diversifier index when a 31-bit child index is more appropriate.
2024-02-13 11:39:06 -07:00
Andrew Arnott 1733af8718
Declare `NonHardenedChildIndex` struct 2024-02-10 12:46:46 -07:00