Commit Graph

502 Commits

Author SHA1 Message Date
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
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
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
Kris Nuttycombe 2098196440 Fix errors caused by use of zero heights. 2021-06-02 21:07:29 -06:00
Kris Nuttycombe 2b96e2eb0c Fix TZE demo test errors. 2021-06-02 18:23:25 -06:00
Kris Nuttycombe e32e2d6e7f Fix ordering of Sapling build errors. 2021-06-02 17:15:35 -06:00
Kris Nuttycombe 0743f9e815
Apply suggestions from code review
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-02 17:11:04 -06:00
Kris Nuttycombe 2c891a8000 Fix incorrect progress notifier. 2021-06-02 17:09:17 -06:00
Kris Nuttycombe 14d07cd826 Fix intra-doc links & rustfmt. 2021-06-02 17:09:17 -06:00
Kris Nuttycombe d2402f4861
Apply changelog suggestions.
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-02 16:58:08 -06:00
Kris Nuttycombe b487a7f820 Sapling builder can store network params. 2021-06-02 16:57:27 -06:00
Kris Nuttycombe 4878b5b19b Address comments from review. 2021-06-02 16:48:55 -06:00
Kris Nuttycombe 72ac97a35f Derive transaction version & branch id from target height. 2021-06-02 13:45:29 -06:00
Kris Nuttycombe 7466ef42d8 Move change_address back to the main builder
Also, store the target height in the sapling builder.
2021-06-02 12:35:18 -06:00
Kris Nuttycombe bd3b2afa59 Update changelog. 2021-06-02 11:48:46 -06:00
Kris Nuttycombe c872f39547 Restore progresscounter. 2021-06-02 11:48:46 -06:00
Kris Nuttycombe 3770e5de8b Move TZE transaction builder to an independent module. 2021-06-02 11:48:46 -06:00
Kris Nuttycombe c1a8de27f3 Move Sapling transaction builder to an independent module. 2021-06-02 11:48:46 -06:00
Kris Nuttycombe ba6fc053b5 Move transparent transaction builder to an independent module. 2021-06-02 11:48:46 -06:00
Kris Nuttycombe 8267d06846 Refactor transaction builder to create separate builders for each section. 2021-06-02 11:48:46 -06:00
str4d f7f5cd472b
Merge branch 'master' into note-decryption-fixes 2021-06-02 18:45:01 +01:00
Kris Nuttycombe 168314cec6 Update changelog. 2021-06-01 07:05:01 -06:00
Kris Nuttycombe 62bd06f14e Apply suggestions from code review
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-01 07:03:31 -06:00
Kris Nuttycombe 76999eb5c7 Make txid contents private & use txid for TzeOutPoint 2021-06-01 07:03:31 -06:00
Kris Nuttycombe 936b552de2 Add NoteValue newtype, Nullifier::as_ref and proptest generation. 2021-06-01 07:03:31 -06:00
Kris Nuttycombe 3dc05a69eb Add Nu5 NetworkUpgrade variant. 2021-06-01 07:03:31 -06:00
Kris Nuttycombe 4efb21d1c7 Make amount addition and subtraction traits use checked operations. 2021-06-01 07:03:31 -06:00