librustzcash icon indicating copy to clipboard operation
librustzcash copied to clipboard

zcash_primitives: Refactor `Transaction` to permit omitting protocol-specific bundles

Open str4d opened this issue 2 months ago • 11 comments

Draft because there are still some things that need doing:

  • [x] I want some feedback on the overall approach to check the direction makes sense.
  • [ ] I haven't documented much yet (spent my time getting the refactor structured correctly so the commits make sense).
  • [ ] I haven't checked all the various feature flag combinations yet.
  • [ ] The PR needs tests that exercise the various NoProtocol combinations.
  • [x] The Authorization-ish traits are still tied to the protocol-specific crates. I think I need to introduce intermediate traits with blanket impls.
  • [x] Factor out Sprout for completeness (even though we don't depend on anything for Sprout that we don't inherently need for basic Zcash support).
  • [x] Factor out ZFuture.
  • [ ] Needs changelog updates.

str4d avatar May 11 '24 01:05 str4d