232 Commits

Author SHA1 Message Date
Aditya Kulkarni
3ee778de59 transparent inputs should use serialize_der() 2019-09-10 10:01:13 -07:00
Aditya Kulkarni
1056db3bea Make OutPoint fields pub 2019-09-10 10:00:24 -07:00
Aditya Kulkarni
99d0f78636 Make mod serialize public 2019-09-06 13:37:42 -07:00
Aditya Kulkarni
f60d7d331b Merge branch 'transaction-builder-transparent-inputs' of git://github.com/str4d/librustzcash into str4d-transaction-builder-transparent-inputs 2019-09-05 13:37:08 -07:00
Jack Grigg
d6f6b50ecd
Check try_sapling_output_recovery fails with identity as pk_d 2019-09-04 19:48:39 -04:00
Jack Grigg
abbd43ff57
Make pk_d validity an invariant of PaymentAddress
Introduces a PaymentAddress::from_parts constructor, and getters for
the diversifier and pk_d fields (which are now private).
2019-09-04 19:48:35 -04:00
Jack Grigg
86142d044c
PaymentAddress::to_bytes 2019-09-04 19:46:46 -04:00
Jack Grigg
73ee19239c
Replace manual address decoding with PaymentAddress::from_bytes 2019-09-04 19:46:46 -04:00
Jack Grigg
4c1237fa50
zcash_client_sqlite::transact::create_to_address() 2019-08-29 17:53:40 +01:00
Jack Grigg
0c7eb84d36
impl FromStr for Memo
Memo::from_str was previously shadowing a built-in trait method.
2019-08-24 00:40:32 +01:00
Jack Grigg
7c1d4d9a5b
Log distinct error cases in Equihash verification 2019-08-24 00:40:30 +01:00
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
Jack Grigg
d78c94b2a2
Move Equihash validator into zcash_primitives 2019-08-24 00:37:00 +01:00
Jack Grigg
2774d2730f
Add prevHash field to CompactBlock
This enables basic verification of chain validity when CompactBlocks are
received without the full header.
2019-08-22 12:50:08 +01:00
Jack Grigg
fd87121244
Compute and store BlockHash inside BlockHeader 2019-08-22 12:50:07 +01:00
Eirik Ogilvie-Wigley
d63fa334ff
Remove unnecessary raw marker
Co-Authored-By: str4d <thestr4d@gmail.com>
2019-08-21 16:14:28 -06:00
Eirik Ogilvie-Wigley
76795a9014 cargo fmt 2019-08-20 22:22:03 -06:00
Eirik Ogilvie-Wigley
c28ae31c71 cargo fix --edition-idioms for zcash_primitives 2019-08-20 22:20:22 -06:00
Eirik Ogilvie-Wigley
09882c6d08 Add edition = 2018 2019-08-20 18:31:20 -06:00
Eirik Ogilvie-Wigley
b35a819a09 Replace try! macro 2019-08-20 18:24:47 -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
Jack Grigg
388a585515
transaction::Builder::add_transparent_input() 2019-08-16 17:13:24 +01:00
Jack Grigg
2a8748582b
Pass Script to signature_hash by reference 2019-08-16 16:22:47 +01:00
Jack Grigg
ff5775418b
legacy::Script::address
This is the counterpart to legacy::TransparentAddress::script.
2019-08-16 16:21:59 +01: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
2ae5804a67
Move Sprout and Sapling circuits into zcash_proofs 2019-08-14 10:45:55 +01:00
Jack Grigg
7ea6d10480
Move redjubjub into zcash_primitives 2019-08-14 10:43:25 +01:00
Jack Grigg
3211536324
Upgrade to crypto_api_chachapoly >= 0.2.1 2019-08-14 01:12:26 +01:00
Jack Grigg
2f1cae62b1
Upgrade to fpe 0.2 2019-08-14 01:12:23 +01:00
str4d
4a6c9ec425
Comment that we support a minimal set of script opcodes
Co-Authored-By: Daira Hopwood <daira@jacaranda.org>
2019-08-14 00:30:18 +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
c26188a0bb
TransparentAddress struct for P2PKH and P2SH 2019-07-27 00:28:01 +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