Commit Graph

996 Commits

Author SHA1 Message Date
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
Kris Nuttycombe 2360609f1a zcash_primitives: Rename `TransparentAddress` variants.
This resolves an old TODO.
2024-02-02 10:52:17 -07:00
str4d dca890adcd
Merge pull request #1102 from zcash/doc-improvements
Various documentation improvements
2024-01-25 21:02:01 +00:00
str4d 4873e2586f
zcash_primitives: Adjust doc comment on `BlockHash`
Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-01-25 19:17:21 +00:00
str4d 3a0b634101
Merge pull request #1103 from nerdcash/docFixes
Doc improvements
2024-01-23 16:19:50 +00:00
Kris Nuttycombe 28e36dc57b
Merge pull request #1054 from pacu/regtest-support
Add regtest support to `Parameter` for Mobile SDKs
2024-01-19 12:09:09 -07:00
Andrew Arnott 296e770ec8
Update zcash_primitives/src/transaction/fees/zip317.rs
Co-authored-by: str4d <thestr4d@gmail.com>
2024-01-18 17:48:56 -07:00
Kris Nuttycombe 09bbc79669 Fix rustfmt 2024-01-18 14:58:04 -07:00
Andrew Arnott aabee02247
Doc improvements 2024-01-17 21:33:12 -07:00
Daira Emma Hopwood 76f92268c3 Remove notices about the BOSL license exception, which are no longer needed.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2024-01-17 23:28:15 +00:00
Francisco Gindre 17f074d460
PR Suggestion by @nuttycom: remove the `FullNodeParameters` enum 2024-01-17 18:55:21 -03:00
Francisco Gindre 529fd3d562
Add Regtest variant of `Network` and Parameter
closes #1051

Also:
Adds encoding tests + cargo fmt
Adds tests on ZIP-321
Adds coverage on new code
Supports nu6 activation
`local-consensus` feature is disabled by default
2024-01-17 18:21:06 -03:00
Jack Grigg 3206255b8a Various documentation improvements 2024-01-16 22:30:05 +00:00