Jack Grigg
fe93f2ff6b
Rename into_ -> to_ where &self is used.
2019-08-24 00:39:54 +01:00
Jack Grigg
3a8efd9e67
Address various clippy warnings/errors in zcash_primitives
2019-08-24 00:39:49 +01:00
Eirik Ogilvie-Wigley
c28ae31c71
cargo fix --edition-idioms for zcash_primitives
2019-08-20 22:20:22 -06:00
Eirik Ogilvie-Wigley
f523ac285d
cargo fmt
2019-08-20 17:17:21 -06:00
Eirik Ogilvie-Wigley
b0d8747697
cargo fix --edition for zcash_primitives
2019-08-20 17:15:07 -06:00
Eirik Ogilvie-Wigley
e12d315ab9
Warning cleanup
2019-08-20 16:45:10 -06:00
Eirik Ogilvie-Wigley
81c58172c3
cargo fmt zcash_primitives
2019-08-15 10:39:55 -06:00
Jack Grigg
5fb9b86ba0
Move Jubjub, Pedersen hash and primitives into zcash_primitives
2019-08-14 10:47:22 +01:00
Jack Grigg
7ea6d10480
Move redjubjub into zcash_primitives
2019-08-14 10:43:25 +01:00
Jack Grigg
a28d94ff2e
Panic if Amount addition or subtraction overflows
2019-08-14 00:16:09 +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
3a73f946c5
Simplify structure of transaction builder errors
2019-08-13 15:10:57 +01:00
Jack Grigg
e6663212ff
Improve documentation for Amount
2019-08-08 09:21:09 +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
ab60b8804a
impl operators for Amount
2019-07-27 00:35:28 +01:00
Jack Grigg
0ea4408d46
Amount::{zero, is_positive, is_negative}
2019-07-27 00:35:27 +01:00
Jack Grigg
fa50d551c8
Move Amount impl into a submodule
2019-07-27 00:35:26 +01:00
Jack Grigg
17f6bbcc67
Pass tx builder RNG to spend_sig()
2019-07-27 00:35:04 +01:00
Jack Grigg
532299d46e
Allow transaction::Builder RNG to be configured
2019-07-27 00:32:56 +01:00
Jack Grigg
4b61120cd0
Pass tx builder RNG to SaplingNoteEncryption
2019-07-27 00:31:16 +01:00
Jack Grigg
a1cd9dfbac
transaction::Builder::add_transparent_output()
2019-07-27 00:28:02 +01:00
Jack Grigg
dab3c002b7
Script opcode and data support
...
Overrides the shift-left operator for pushing opcodes onto the Script,
matching the notation used in zcashd.
2019-07-27 00:28:00 +01:00
Jack Grigg
1862354ea6
Sapling transaction builder
2019-07-27 00:27:50 +01:00
Jack Grigg
01618038bf
TxProver trait to abstract over the circuit parameters
...
An implementation using local parameters is provided in the zcash_proofs
crate.
2019-07-26 23:56:00 +01:00
Jack Grigg
6f9083b5ab
Migrate to rand 0.7
2019-07-19 00:47:40 +02:00
Jack Grigg
8f7adec0d9
Migrate zcash_primitives to rand_core 0.4
2019-07-19 00:46:37 +02:00
Jack Grigg
6149166ccb
Migrate zcash_primitives to rand 0.5
2019-07-19 00:35:06 +02:00
Jack Grigg
999dcbfcab
Migrate to blake2b_simd and blake2s_simd crates
...
The primary reason for migrating is that these crates provide APIs for
setting the personalisation string. This enables us to depend solely on
published crates, and thus publish our own crates.
The SIMD implementations are ported from libsodium.
Closes #67 .
2019-07-10 13:12:14 -04:00
Jack Grigg
6c99d71d4f
cargo fmt
2019-04-02 01:30:00 +01:00
Jack Grigg
3501365950
Test Transaction::txid()
2019-04-02 01:29:48 +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
3d39706aee
Make SpendDescription.spend_auth_sig optional
2019-02-26 13:44:28 -07:00
Jack Grigg
012d43bc8c
derive Debug for various structs
2019-02-26 13:44:28 -07:00
Jack Grigg
538de482f3
Update zcash_primitives crate to use ff crate
2019-01-06 09:31:20 +00:00
Jack Grigg
1a1c77536d
cargo fmt 1.31.1
2019-01-03 21:52:06 +00:00
Jack Grigg
c9b23dfdef
Extract single-TxOut hashing from signature_hash_data() for clarity
2018-11-30 23:13:39 +00:00
Jack Grigg
e25b614573
Match error message in Amount::Read_i64() to allow_negative value
2018-11-30 23:04:04 +00:00
Jack Grigg
7ff32b04d6
Document enforcement of consensus rules on transaction components
2018-11-30 22:59:48 +00: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
9282c7da29
Replace tx_read_write() test vector with one from current testnet chain
2018-11-16 09:50:27 +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
0c81695731
ZIP 243
2018-11-09 08:34:49 +13:00
Jack Grigg
2d8b1fe504
ZIP 143
2018-11-09 08:34:38 +13:00