Jack Grigg
789e2ff216
Travis CI: Build before formatting check
...
cargo fmt does not build the code, and running it in a fresh clone of
the codebase will fail because the protobuf code has not been generated.
2019-08-22 15:18:50 +01:00
Jack Grigg
2bafc688ff
Test nullifiers in constant time
...
Checking for spent notes in a block is still not completely constant
time, due to filtering out negative results of the constant-time
comparison.
Part of #84 .
2019-08-22 12:52:01 +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
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