Due to limitations described in
https://github.com/rust-lang/rust/issues/30827, we can't just deprecate
the `pub use` stanzas; instead, we have to replace reexports with
new (deprecated) modules and public types which then internally reexport
the module internals or alias the reexported types, respectively.
This commit temporarily removes the reexported types to simplify the
removal process; the reexports will be reintroduced with deprecation
annotations in the subsequent commit.
We only needed it for `zcash_client_backend` to encode recipient
addresses inside proprietary fields of PCZTs, but now that we are
explicitly encoding them as strings, it is not necessary.
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
This uses the existing String encoding to avoid defining a new
serialization format. It is necessary for `zcash_client_backend` to
encode recipient addresses inside PCZTs to enable correct extraction and
and storage in the wallet backend.
This reverts the MSRV update for the `zcash_protocol` crate; no
MSRV-breaking changes have been made, and retaining the 1.70 MSRV allows
us to make this a semver-compatible release.
This generalizes the previous account metadata query API to be able to
represent more complex queries, and also to return note totals in
addition to note counts.
In contrast to the implementation of `Sub<BlockHeight> for BlockHeight`
that was removed in version `0.3.0`, a saturating subtraction for block
heights having a return type of `u32` makes sense for `BlockHeight`.
Subtracting one block height from another yields the delta between them.
Other block height addition and subtraction operations have been made
saturating, removing panics and the possibility of overflow.
`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>