Commit Graph

33 Commits

Author SHA1 Message Date
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