Kris Nuttycombe
31ea91ced8
Ensure tze digest is only included if TZEs are in the consensus rules.
2021-06-08 11:33:52 -06:00
Jack Grigg
acc19a76e2
Bring in ZIP 244 auth digest test vectors.
...
From https://github.com/zcash-hackworks/zcash-test-vectors/pull/34 .
2021-06-08 18:17:30 +01:00
str4d
29c5afe52b
Merge pull request #398 from str4d/zip225-orchard-refactor
...
Extract ZIP 225 Orchard bundle parsing and serialization into helpers
2021-06-08 17:59:36 +01:00
Jack Grigg
7e23b96a03
Extract ZIP 225 Orchard bundle parsing and serialization into helpers
...
These will be used by `zcashd` for handling the Orchard component of v5
transactions.
2021-06-08 17:29:04 +01:00
str4d
0bfd1f7544
Merge pull request #375 from nuttycom/feature/zip-225
...
ZIP 225 & ZIP 244
2021-06-08 17:28:25 +01:00
Kris Nuttycombe
eb3d01aa6b
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-06-08 07:02:52 -06:00
Kris Nuttycombe
f70285d243
Fix error in transaction auth digest.
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-07 09:27:05 -06:00
Kris Nuttycombe
371f84dc9b
Minor error message improvement.
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-07 09:27:05 -06:00
Kris Nuttycombe
0253442af0
Be more explicit about empty sapling & orchard hashes.
2021-06-07 09:27:05 -06:00
str4d
2f3e4989ba
Merge pull request #352 from str4d/zcash_address
...
New component: zcash_address crate
2021-06-07 00:36:48 +01:00
Jack Grigg
af02e1142b
zcash_address: Fix clippy lint
2021-06-07 00:13:21 +01:00
str4d
1590565f04
zcash_address: Minor cleanups
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-06-06 23:58:52 +01:00
str4d
f36034cfac
zcash_address: Use exhaustive matching in Display impl
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-06-06 23:54:11 +01:00
Jack Grigg
e2fb5e6402
Impl ZIP 216 on SaplingVerificationContext and redjubjub::PublicKey
...
`PublicKey::verify` now always uses post-ZIP 216 validation rules, which
is fine in non-consensus contexts.
`SaplingVerificationContext` is used by `zcashd`'s consensus rules.
2021-06-06 23:45:15 +01:00
Kris Nuttycombe
b93c503263
Deserialize signatures directly into actions.
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-05 10:19:36 -06:00
Kris Nuttycombe
4f764c3c80
Use Vector read/write operations where possible instead of Array
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-05 10:12:39 -06:00
Kris Nuttycombe
97bef30582
Remove consensus branch id from roundtrip serialization check.
...
Possible now that it's part of the transaction.
2021-06-05 09:48:52 -06:00
Kris Nuttycombe
47ce97c3d2
Keep builder spend data in spend_auth_sig fields.
2021-06-05 09:45:55 -06:00
Kris Nuttycombe
69e5a491ff
Fix generation of arbitrary jubjub points.
2021-06-04 17:28:44 -06:00
Kris Nuttycombe
d0a911cb87
Fix rustdocs
2021-06-04 16:38:01 -06:00
Kris Nuttycombe
28d3f481cd
Apply suggestions from code review.
2021-06-04 16:38:01 -06:00
Kris Nuttycombe
e71a1ce345
Rename Vector::write_items -> Array::write and Vector::read_count -> Array::read
2021-06-04 16:38:01 -06:00
Kris Nuttycombe
4623f98d9a
Fix bugs in construction of Sapling txid hashes.
2021-06-04 16:38:01 -06:00
Kris Nuttycombe
df0095ebba
Add ZIP-244 test vectors.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
6348400cf4
Store patial authorizing data for sapling components in bundle authorization.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
6635895e55
Clean up TZE signature generation.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
ab1b31ebf6
Store partial authorizing data for transparent txs in transparent authorization.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
dac68ce2aa
Drop proptest space size to reduce test runtime.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
38b864c100
Implement V5 transaction serialization & roundtrip property tests.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
e828dbf5d0
Add v5 parsing and serialization for Sapling components.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
1a5aad723b
Use generalized signature_hash for transaction builder.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
55d1090f70
Add v5 txid & signature hashing.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
1138343c89
Add data structures for transaction digests.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
fd1790fec2
Move sighash.rs -> sighash_v4.rs
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
4bcad97ba1
Add amount conversion for Orchard values.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
2ae55b4145
Add more flexibility to vector serialization.
2021-06-04 15:45:39 -06:00
str4d
2ba8073971
Merge pull request #395 from str4d/bump-deps
...
Migrate to bitvec 0.22, ff 0.10, etc.
2021-06-04 22:36:29 +01:00
Jack Grigg
4aa83d3048
bellman 0.10
2021-06-04 22:20:25 +01:00
Jack Grigg
1222391dd7
Migrate to bitvec 0.22, ff 0.10, etc.
...
Requires patching three dependencies:
- bellman is pending a new release.
- nom is part of the funty breakage; we are blocking on a new release.
- orchard is in development.
2021-06-04 22:02:48 +01:00
str4d
4c4d226f40
Merge pull request #392 from nuttycom/feature/zip-225-bundles
...
ZIP-225/244 #3 : Create separate bundles for each part of the transaction.
2021-06-04 03:43:15 +01:00
Kris Nuttycombe
9149d48afc
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-03 20:25:10 -06:00
Kris Nuttycombe
231aa5d01a
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-03 18:47:49 -06:00
Kris Nuttycombe
cc9dbf8bde
Fix clippy complaint.
2021-06-03 18:46:38 -06:00
Kris Nuttycombe
732b97d021
Update changelog.
2021-06-03 18:46:38 -06:00
Kris Nuttycombe
a305760bb1
Move TZE components to a bundle within TransactionData
2021-06-03 18:46:38 -06:00
Kris Nuttycombe
523424e50b
Move Transparent components to a bundle within TransactionData
2021-06-03 18:46:38 -06:00
Kris Nuttycombe
670d03e74f
Move Sprout components to a bundle within TransactionData
2021-06-03 18:46:38 -06:00
Kris Nuttycombe
84e8952ec3
Move Sapling components to a bundle within TransactionData
2021-06-03 18:46:38 -06:00
Kris Nuttycombe
488d02aad3
Add Orchard bundle to TransactionData
...
This also adds parsing and serialization for Orchard bundle parts.
This requires changes to the TZE builder components, because they
refer to the TransactionData type in the context for witness creation.
2021-06-03 13:03:29 -06:00
Kris Nuttycombe
12d2dfd1bd
Merge pull request #386 from nuttycom/feature/zip-225-builder_modularization
...
ZIP-225/244 #2 : Refactor transaction builder to create separate builders for each section.
2021-06-02 21:29:19 -06:00