Commit Graph

19 Commits

Author SHA1 Message Date
Jack Grigg
7ea6d10480 Move redjubjub into zcash_primitives 2019-08-14 10:43:25 +01:00
Jack Grigg
1760b275a7 Simplify transaction builder tests
Requires impl PartialEq for Transaction, which is implemented as a TxId
comparison (relying on the invariant that Transaction is immutable).
2019-08-13 15:24:08 +01:00
Jack Grigg
7c07914bfd Separate Amount::{from_i64, from_nonnegative_i64} APIs
This is more intuitive than a boolean flag for handling non-negative
Amounts stored in i64 values.
2019-08-08 00:55:23 +01:00
Jack Grigg
59ed258c7f Make Amount opaque, and use it more
This helps to ensure type-safety of values that are required to satisfy
zatoshi range bounds.
2019-07-27 00:35:29 +01:00
Jack Grigg
0ea4408d46 Amount::{zero, is_positive, is_negative} 2019-07-27 00:35:27 +01:00
Jack Grigg
1862354ea6 Sapling transaction builder 2019-07-27 00:27:50 +01:00
Jack Grigg
6c99d71d4f cargo fmt 2019-04-02 01:30:00 +01:00
Jack Grigg
663f9d619d Use named fields in Transaction struct 2019-04-02 01:29:22 +01:00
Jack Grigg
b856d23069 Reverse a clone of [u8; 32] instead of allocating 2019-03-07 23:43:58 +00:00
Jack Grigg
4289843852 Compute TxId for Transaction 2019-03-07 23:42:00 +00:00
Jack Grigg
a1664c6bbc impl Display for BlockHash and TxId 2019-03-07 23:41:46 +00:00
Jack Grigg
20d5cdc571 TxId struct 2019-03-07 23:26:03 +00:00
Jack Grigg
012d43bc8c derive Debug for various structs 2019-02-26 13:44:28 -07:00
Jack Grigg
d707ebd321 Use Option<[u8; N]> for JoinSplit pubkey and signature in a transaction 2018-11-30 01:08:45 +00:00
Jack Grigg
9b06205ed6 Reject unexpected binding sig during transaction write 2018-11-30 00:54:30 +00:00
Jack Grigg
61ce4dd3d6 Enforce range checks when reading Amounts 2018-11-30 00:30:37 +00:00
Jack Grigg
1f11c404dc Convert Transaction into a wrapping struct with impl Deref
Users who have a Transaction can now only obtain an immutable reference
to its underlying data.
2018-11-09 08:34:49 +13:00
Jack Grigg
2d8b1fe504 ZIP 143 2018-11-09 08:34:38 +13:00
Jack Grigg
e490b79907 Transaction serialization 2018-10-11 18:05:50 +01:00