Commit Graph

227 Commits

Author SHA1 Message Date
str4d
5823a695e2
Merge pull request #139 from adityapk00/tx_compare
Implement sorting for TxIDs
2019-11-04 16:29:59 +00:00
str4d
40d22ea2cc
Merge pull request #135 from NikVolf/extern-purge
Remove unneeded "extern crate"
2019-10-31 17:12:26 +00:00
Aditya Kulkarni
b479981689
Implement clone for some structs 2019-10-15 17:47:53 +13:00
Aditya Kulkarni
885e09a82f
Create OutPoint from hash and n 2019-10-15 17:47:23 +13:00
Aditya Kulkarni
fab9160b26
transparent inputs should use serialize_der() 2019-10-15 17:46:33 +13:00
Aditya Kulkarni
5a177eea27
Make mod serialize public 2019-10-15 17:42:49 +13:00
Jack Grigg
3425eabda2
transaction::Builder::add_transparent_input() 2019-10-15 17:42:46 +13:00
Jack Grigg
70857b0eed
Pass Script to signature_hash by reference 2019-10-15 17:32:34 +13:00
Jack Grigg
42b7f328fb
legacy::Script::address
This is the counterpart to legacy::TransparentAddress::script.
2019-10-15 17:32:34 +13:00
Aditya Kulkarni
cd1083e086 Implememt sorting for TxIDs 2019-10-14 13:40:08 -07:00
Aditya Kulkarni
188537ea02 Implememt sorting for TxIDs 2019-10-09 11:50:48 -07:00
Jack Grigg
2bbd25b36b
Add prevHash field to CompactBlock
This enables basic verification of chain validity when CompactBlocks are
received without the full header.
2019-10-09 14:11:14 +13:00
Jack Grigg
a3b85b8fe6
Compute and store BlockHash inside BlockHeader 2019-10-09 14:11:14 +13:00
NikVolf
7844394364 Remove unneeded extern crate 2019-10-08 16:12:14 +03:00
Jack Grigg
8b08528bb0
zcash_primitives 0.1.0 2019-10-08 17:43:33 +13:00
str4d
2399d9f3e3
Merge pull request #93 from defuse/qed-it-lrz
Bring in QED-it Tests
2019-10-08 13:47:36 +13:00
Jim Posen
93563c3c65 Specify rand_core >= 0.5.1 for OsRng import. 2019-10-05 12:16:10 +02:00
str4d
524055bbb4
Merge pull request #134 from NikVolf/z-rng
Avoid using rand_os crate (fixes warnings)
2019-10-02 17:35:56 -06:00
NikVolf
730d2cbc7e fix outdated example 2019-09-28 12:50:28 +03:00
NikVolf
b42477a0bf update from rand_os to fix warnings 2019-09-28 10:48:43 +03:00
Jack Grigg
4ad3988e43
Crate docs 2019-09-24 14:23:59 +01:00
Jack Grigg
7f3036d2c8
Update READMEs 2019-09-24 14:23:55 +01:00
Jack Grigg
d9a0b9c83f
CI: Check intra-doc links
Credit: https://twitter.com/tomaka17/status/1176017851410526208
2019-09-24 10:35:12 +01:00
Jack Grigg
1d02363752
Add READMEs to Cargo.toml files
This will cause crates.io to render each crate's README as its
information page.
2019-09-23 14:42:38 +01:00
Aditya Kulkarni
37e47981b1 Make Transaction public so we can test it with fake transactions 2019-09-22 20:56:13 -07:00
Taylor Hornby
3701c2b442
Increase the number of pedersen hash generators, exercise all test vectors. 2019-09-17 00:05:54 +01:00
Taylor Hornby
4dff8055bf
Remove unfinished find_group_hash test. 2019-09-16 23:44:14 +01:00
Taylor Hornby
e391594e9e
Fix broken linear relation checking 2019-09-16 22:51:11 +01:00
Kobi Gurkan
15b4c37ab0
adds test for linear relation between pedersen hash generators 2019-09-16 22:23:28 +01:00
Aurélien Nicolas
68ba93f5fd
PH test vectors for edge-cases 2019-09-16 21:58:28 +01:00
Aurélien Nicolas
6240c02208
Long and random PH test vectors 2019-09-16 21:57:53 +01:00
Aurélien Nicolas
be18eb240c
Move test vectors into own module 2019-09-16 21:57:42 +01:00
Aurélien Nicolas
9080b4ccf3
Many test vectors for pedersen hash 2019-09-16 20:52:11 +01:00
Aurélien Nicolas
f5dfe07355
A test vector for pedersen hash 2019-09-16 20:50:22 +01:00
Kobi Gurkan
2edcc12e8e
group_hash: adds test vectors generated by go-jubjub 2019-09-16 20:34:14 +01:00
Kobi Gurkan
7ee61c4f94
pedersen_hash: adds test vectors for the circuit implementation 2019-09-16 20:23:07 +01:00
Kobi Gurkan
15633ad434
pedersen hashes: example of size limit bug 2019-09-16 20:17:50 +01:00
Kobi Gurkan
414d651c9c
pedersen_hash: adds tests for Daniel's vector 2019-09-16 20:12:38 +01:00
Kobi Gurkan
8541b2bde4
pedersen_hash: prints hashes, adds comments 2019-09-16 20:12:33 +01:00
Aditya Kulkarni
3c9b29e47b Revert "public address from script_sig"
This reverts commit 5f274e70d0.
2019-09-14 10:14:09 -07:00
Aditya Kulkarni
5f274e70d0 public address from script_sig 2019-09-13 18:29:50 -07:00
Aditya Kulkarni
323182c4a5 Implement clone for some structs 2019-09-12 14:26:43 -07:00
Jack Grigg
0a3b0a9341
Upgrade to hex-literal 0.2 2019-09-12 19:38:51 +01:00
Aditya Kulkarni
3ceefdf81c Create OutPoint from hash and n 2019-09-10 10:34:08 -07:00
Aditya Kulkarni
f8d01215a0 merge serialize fix 2019-09-10 10:18:58 -07:00
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
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
str4d
05f098e893
Merge pull request #91 from str4d/upgrade-rand
Upgrade rand crate dependency to 0.7
2019-07-26 23:31:42 +01:00
str4d
5a48d179b8
Merge pull request #90 from adityapk00/paperwallet
Make some methods pub for use in External Wallet Generators

The exposed APIs may change in future crate versions.
2019-07-22 13:25:25 +01:00
Aditya Kulkarni
7f60f0f881 Make some methods in DiversifierKey, DiversiferIndex pub 2019-07-18 16:19:45 -07:00
Jack Grigg
6f9083b5ab
Migrate to rand 0.7 2019-07-19 00:47:40 +02:00