Commit Graph

822 Commits

Author SHA1 Message Date
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
Jack Grigg
2e038207f0 Update new witnesses with subsequent transactions in the same block 2019-08-22 12:50:06 +01:00
Jack Grigg
36f1ef62de Add tx index within block to WalletTx struct 2019-08-22 12:50:05 +01:00
Jack Grigg
c1e6b1844c Detect change notes while scanning blocks 2019-08-22 12:50:04 +01:00
Jack Grigg
9c51f3426b Check for spent notes while scanning blocks 2019-08-22 12:50:02 +01:00
Jack Grigg
8b353b3d55 Return the entire note and recipient address when scanning an output 2019-08-22 12:49:28 +01:00
Jack Grigg
c3a30b9597 Increment the commitment tree and witnesses while scanning blocks 2019-08-22 12:49:27 +01:00
Jack Grigg
5ec94b5db5 Parse compact blocks to find wallet transactions 2019-08-22 12:49:22 +01:00
Jack Grigg
2dd2fc620e Build protobufs for compact formats 2019-08-21 11:04:16 +01:00
str4d
7b11d64cf9 Merge pull request #111 from jimpo/master
Fix off-by-one so pedersen_hash doesn't consume too many generators.
2019-08-20 21:14:48 +01:00
Jim Posen
d4b6c0e1a2 Use expect to remove unreachable break. 2019-08-20 17:18:26 +02:00
Jim Posen
40f768ed60 Fix off-by-one so pedersen_hash doesn't consume too many generators. 2019-08-17 12:01:11 +02:00
ebfull
6f0080ba72 Merge pull request #105 from Eirik0/cargo-clean-up
cargo fmt
2019-08-16 20:30:00 -06:00
Eirik Ogilvie-Wigley
7461f8936d Update travis to require formatting 2019-08-15 10:45:24 -06:00
Eirik Ogilvie-Wigley
a7c5993597 cargo fmt 2019-08-15 10:41:48 -06:00
Eirik Ogilvie-Wigley
272be62212 cargo fmt zcash_proofs 2019-08-15 10:40:07 -06:00
Eirik Ogilvie-Wigley
81c58172c3 cargo fmt zcash_primitives 2019-08-15 10:39:55 -06:00
Eirik Ogilvie-Wigley
9a4f6812f1 cargo fmt bellman 2019-08-15 10:38:41 -06:00
Eirik Ogilvie-Wigley
bc7ea564d3 cargo fmt pairing 2019-08-15 10:38:40 -06:00
str4d
3584485516 Merge pull request #104 from str4d/remove-sapling-crypto
Refactor to remove sapling-crypto
2019-08-15 17:20:07 +01:00
Jack Grigg
1b865ecfdf Remove sapling-crypto 2019-08-14 10:48:06 +01:00
Jack Grigg
5fb9b86ba0 Move Jubjub, Pedersen hash and primitives into zcash_primitives 2019-08-14 10:47:22 +01:00
Jack Grigg
b8af749b40 Move generic circuit gadgets into bellman 2019-08-14 10:45:58 +01:00
Jack Grigg
61c633db1e Move Jubjub and Pedersen hash gadgets into zcash_proofs
These are currently too Zcash-specific to be generalized, and need some
targeted refactoring.
2019-08-14 10:45:57 +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
str4d
f931562431 Merge pull request #94 from str4d/upgrade-deps
Upgrade dependencies
2019-08-14 10:39:42 +01:00
Jack Grigg
81786c24c0 Fix clippy linter errors in pairing crate 2019-08-14 01:14:05 +01:00
Jack Grigg
13933d8c51 Use modern clippy linter syntax 2019-08-14 01:14:04 +01:00
Jack Grigg
3e35dd215c cargo update 2019-08-14 01:14:02 +01:00
Jack Grigg
3211536324 Upgrade to crypto_api_chachapoly >= 0.2.1 2019-08-14 01:12:26 +01:00
Jack Grigg
ec321382e1 Upgrade to bech32 0.7 2019-08-14 01:12:25 +01:00
Jack Grigg
a12b8053b0 Upgrade to digest 0.8 2019-08-14 01:12:24 +01:00
Jack Grigg
2f1cae62b1 Upgrade to fpe 0.2 2019-08-14 01:12:23 +01:00
str4d
52ea437e11 Merge pull request #92 from str4d/transaction-builder
Transaction builder
2019-08-14 01:11:12 +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
str4d
4255b44b21 Merge pull request #13 from str4d/nullifier-test-vectors
Test note nullifier in key component test vectors
2019-08-02 10:03:07 +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