Commit Graph

35 Commits

Author SHA1 Message Date
Kris Nuttycombe f6c05345f4 Remove internal use of reexports of types have been moved to other crates.
This commit temporarily removes the reexported types to simplify the
removal process; the reexports will be reintroduced with deprecation
annotations in the subsequent commit.
2024-12-20 10:35:10 -07:00
Jack Grigg 9c6d1b958b pczt: Add a Redactor role 2024-12-19 01:01:35 +00:00
Jack Grigg 285d4b8724 pczt: Document fields required by our Signer implementation 2024-12-18 01:12:39 +00:00
Kris Nuttycombe fad7f38b9a Migrate to `nonempty 0.11` 2024-12-17 09:05:11 -07:00
Kris Nuttycombe a59773faee Release pczt version 0.1.0 2024-12-16 21:55:14 -07:00
Jack Grigg d11d428edf pczt: Add no-std support 2024-12-17 03:04:21 +00:00
Kris Nuttycombe 24833e7d87
Merge pull request #1657 from zcash/zcash_transparent
Move transparent protocol to `zcash_transparent` crate
2024-12-15 14:30:52 -07:00
Jack Grigg e4915f99c4 zcash_transparent: Refactor code so it compiles in its new crate 2024-12-15 13:25:43 -07:00
Jack Grigg 1a3eeab703 Move transparent protocol code into `zcash_transparent`
Move-only on the relevant files; things are currently broken.
2024-12-15 09:54:48 +00:00
Kris Nuttycombe 37ca338fa5
Merge pull request #1655 from zcash/pczt-inspection
pczt: Add `Pczt::into_effects`
2024-12-14 07:27:50 -07:00
Jack Grigg 688dcaf077 pczt: Add `Pczt::into_effects` 2024-12-14 11:29:24 +00:00
Jack Grigg 3d1e32211d pczt: Add output field for storing the user-facing address
This is necessary in order for Signers to display the address encoding
that a user is expecting to confirm.

Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2024-12-13 18:29:45 +00:00
Jack Grigg f97f6fa8b3 pczt: Add a Verifier role
This isn't a real role per se; it's instead a way for accessing the
parsed protocol-specific bundles for individual access and verification.
2024-12-13 00:21:20 +00:00
Kris Nuttycombe 867267d062 Fix `zfuture` build. 2024-12-09 10:11:19 -07:00
Jack Grigg 713c96bff4 zcash_primitives: Provide Sapling extsks at build instead of spend add 2024-12-09 10:11:19 -07:00
Jack Grigg b209e4bc4d zcash_primitives: Move transparent keys into a separate signing set 2024-12-09 10:11:19 -07:00
Jack Grigg 9a02e45bba zcash_primitives: Provide Orchard saks at build instead of spend add 2024-12-09 10:11:19 -07:00
Jack Grigg 0cceac173e pczt: Verify tx version before using `v5_signature_hash` 2024-12-09 10:23:42 +00:00
Jack Grigg 4b2ffd3870 pczt: Overhaul `tx_modifiable` flags
- The Inputs Modifiable Flag and Outputs Modifiable Flag are now only
  for transparent inputs and outputs.
- Bit 7 is now the Shielded Modifiable Flag (a single flag bit is fine
  because all shielded effects are always committed to at once).
- Fixed a bug in `Creator::build_from_parts` where the Has
  `SIGHASH_SINGLE` Flag was not being set correctly.
- The Signer role now updates `tx_modifiable` in case the IO Finalizer
  role has not yet run (which might be possible in some scenarios).
2024-12-09 10:23:42 +00:00
Kris Nuttycombe 9b6276bb55 pczt: Add getters for some of the unparsed PCZT fields
These enable accessing all of the proprietary fields, as well as a few
other fields necessary for `zcash_client_backend`.
2024-12-07 06:56:07 +00:00
Jack Grigg b8a007543a pczt: Add the Updater role 2024-12-07 06:56:07 +00:00
Jack Grigg 890db27e76 pczt: Encode as header-prefixed Postcard 2024-12-07 06:56:07 +00:00
Jack Grigg 428b74f5a4 pczt: Add end-to-end integration tests 2024-12-07 06:56:07 +00:00
Jack Grigg 60961433ce pczt: Add the Spend Finalizer role 2024-12-07 06:56:07 +00:00
Jack Grigg 318254cc5c Connect `pczt` crate to `zcash_primitives` tx builder 2024-12-07 06:56:07 +00:00
Jack Grigg ebacc0a8b8 pczt: Migrate to the protocol-specific PCZT impls 2024-12-07 06:56:07 +00:00
Jack Grigg 8df6fce948 pczt: Add the IO Finalizer role 2024-12-07 06:56:07 +00:00
Jack Grigg d119717abc pczt: Add fields for storing arbitrary proprietary data 2024-12-07 06:56:07 +00:00
Jack Grigg 656dc27263 pczt: Add fields for pointing to derived signing keys 2024-12-07 06:54:41 +00:00
Jack Grigg 694649863a pczt: Add fields necessary for signing transparent spends
These follow the equivalent fields in BIP 174 and BIP 370.
2024-12-07 06:54:41 +00:00
Jack Grigg 6ca554898b pczt: Add fields necessary for decrypting ciphertexts 2024-12-07 06:54:41 +00:00
Jack Grigg 1a185afa06 pczt: Add fields necessary for creating proofs 2024-12-07 06:54:41 +00:00
Jack Grigg 8766c51142 pczt: Add fields necessary for signing shielded spends 2024-12-07 06:54:41 +00:00
Jack Grigg 7f4db09781 pczt: Create structure that can be converted into a v5 transaction 2024-12-07 06:54:41 +00:00
Jack Grigg 5eb2214631 pczt: Empty library crate 2024-10-08 03:45:36 +00:00