str4d
d4bae99cb7
Merge pull request #204 from str4d/proving-api-ux-refactors
...
UX refactors for proving-related APIs
2020-02-16 18:56:46 +00:00
Jack Grigg
2d30c29d06
Pass &impl TxProver to Builder::build
...
This allows the caller to build multiple transactions with a single
proving backend.
2020-02-08 00:37:31 +00:00
Jack Grigg
76e0f658c1
Rename CommitmentTreeWitness -> MerklePath
2020-02-08 00:36:40 +00:00
Jack Grigg
3a3008caf9
Pass CommitmentTreeWitness directly into Builder::add_sapling_spend
...
This is more likely to be the data that the caller has available, and
is all we need now that a CommitmentTreeWitness can compute its root.
2020-02-07 17:31:38 +00:00
Jack Grigg
8a210ec271
CommitmentTreeWitness::root(leaf)
2020-02-07 17:21:59 +00:00
Jack Grigg
2064d1c801
Refactor zcash_primitives::merkle_tree::CommitmentTreeWitness
...
- The internal Option wrapper was an unnecessary leftover from when this
code was directly inside the prover, where Some(x) represents an
assigned variable.
- CommitmentTreeWitness::from_slice_with_depth is more idiomatic Rust.
2020-02-07 00:06:57 +00:00
str4d
ee32f7facb
Merge pull request #198 from huitseeker/warts
...
Addressing some trivial Rust option/iterator lints
2020-02-04 18:18:09 +00:00
str4d
903c02b991
Merge pull request #202 from str4d/coverage-build-fix
...
CI: Use stable Rust release for code coverage
2020-02-03 19:05:34 +00:00
Jack Grigg
1f38523fff
CI: Use stable Rust release for code coverage
...
Fixes an issue where cargo-tarpaulin failed to build the crate on
1.37.0, but the crate itself builds fine with that version.
2020-02-03 18:08:56 +00:00
str4d
18aceea225
Merge pull request #50 from zancas/mv_tests_extract_data
...
Mv tests extract data
2019-12-12 17:46:38 +00:00
str4d
8626cc7f26
Merge pull request #186 from str4d/multicore-feature-flag
...
Pass bellman's multicore feature flag through to zcash_proofs
2019-12-11 20:04:45 +00:00
Jack Grigg
eed7e8199f
Pass bellman's multicore feature flag through to zcash_proofs
...
This enables someone using zcash_proofs to disable multicore.
2019-12-11 18:46:47 +00:00
str4d
c3f9e2d73c
Merge pull request #180 from str4d/mmr-cleanups
...
MMR API cleanups
2019-12-05 16:35:28 +00:00
Jack Grigg
cca1670248
Clarify length of return buffer for appended leaves
2019-12-05 14:33:03 +00:00
Jack Grigg
f1619f896c
Clearer variable names in MMR tests
2019-12-05 14:29:08 +00:00
Jack Grigg
edcd884fe8
Simplify short array copies
2019-12-05 14:24:31 +00:00
Jack Grigg
583a04b4de
Pass array references correctly in MMR tests
2019-12-05 14:23:59 +00:00
Jack Grigg
573510115d
Clean up remainder of MMR code
2019-12-05 11:11:32 +00:00
Jack Grigg
8ad33e50a6
Use explicit sizes for pointers to arrays in FFI
2019-12-05 11:09:55 +00:00
Jack Grigg
fb8c73c950
Use iterators in construct_mmr_tree
2019-12-05 11:06:26 +00:00
str4d
0907adf608
Merge pull request #176 from str4d/156-scan_transaction
...
zcash_client_backend::decrypt_transaction
2019-12-03 23:15:17 +00:00
str4d
7820548ea3
Merge pull request #173 from gregdhill/bvk-to-cv_sum
...
rename bvk to cv_sum
2019-11-27 20:42:54 +00:00
Jack Grigg
d5ed684701
zcash_client_backend::decrypt_transaction
2019-11-27 15:45:13 +00:00
Jack Grigg
e6a8630b35
impl TryFrom<u32> for BranchId
2019-11-27 13:18:31 +00:00
Jack Grigg
cd326f2b6a
Consensus parameters for network upgrades
2019-11-27 13:18:30 +00:00
Jack Grigg
c24024b8e1
Create a consensus::BranchId enum for type safety
...
Includes all currently-known consensus branch IDs for the Zcash network.
2019-11-25 21:04:20 +00:00
str4d
141821d3c1
Merge pull request #157 from adityapk00/transparent_compile_fix
...
Compile Fix: Add missing sighash declaration
2019-11-14 19:03:59 +00:00
str4d
67d700feab
Merge pull request #107 from str4d/transaction-builder-transparent-inputs
...
Add P2PKH transparent input support to transaction::Builder
2019-11-13 22:15:55 +00:00
str4d
ac983b7612
Merge pull request #149 from str4d/ffi-cleanup
...
FFI cleanup
2019-11-13 19:24:22 +00:00
Jack Grigg
8d6f882510
Renames after moves
2019-11-13 19:21:47 +00:00
Jack Grigg
8d967c8609
Move transparent input pushing onto TransparentInputs
2019-11-13 19:20:09 +00:00
Jack Grigg
d9d50b98ab
Move transparent signing onto TransparentInputs
2019-11-13 19:12:55 +00:00
str4d
88e02329eb
Merge pull request #129 from adityapk00/regtest_constants
...
Add regtest constants
2019-11-13 13:54:55 +00:00
Jack Grigg
60eac4e8b7
Escape non-link square brackets in comments
2019-11-11 10:29:36 +00:00
Jack Grigg
4ae238ea1f
librustzcash crate doc
2019-11-11 10:21:38 +00:00
str4d
8d7f27ffb9
Merge pull request #154 from zcash/codecov-action
...
Move code coverage from Travis CI to Actions
2019-11-07 22:01:15 +00:00
str4d
2ecdbc2036
Merge pull request #153 from str4d/doc-link-fixes
...
Doc link fixes
2019-11-07 21:57:35 +00:00
Jack Grigg
bb39037798
Move code coverage from Travis CI to Actions
2019-11-07 18:16:27 +00:00
Jack Grigg
7be66ad8f8
Rename Actions workflow
2019-11-07 17:40:41 +00:00
Jack Grigg
7fda177da8
Doc link fixes
2019-11-07 17:33:22 +00:00
Jack Grigg
d1bc61800c
Move Sprout proof logic into zcash_proofs
2019-11-06 08:58:42 +00:00
Jack Grigg
de5943aea4
Ignore clippy::not_unsafe_ptr_arg_deref lint
2019-11-06 07:51:46 +00:00
Jack Grigg
8651bb41ce
Clean up librustzcash imports
2019-11-06 07:51:45 +00:00
Jack Grigg
9cb8c0b3c4
Pull librustzcash.h documentation into crate
2019-11-06 07:51:44 +00:00
Jack Grigg
7181d603be
Explicitly pass [u8; 32] into read_fr and read_fs
2019-11-06 07:51:43 +00:00
Jack Grigg
5d03619466
Rename read_le to read_fr to match read_fs
2019-11-06 07:51:42 +00:00
Jack Grigg
7722b1a50b
Inline write_le
2019-11-06 07:51:41 +00:00
Jack Grigg
0028048800
Use C calling convention for librustzcash
...
The Rust-to-C++ interface speaks the C ABI. The "system" ABI happens to
be equivalent to the C ABI on the platforms we currently target (in
particular, we don't target win32 with an x86 architecture, which would
use the stdcall ABI).
2019-11-06 07:51:40 +00:00
str4d
720ee6476f
Merge pull request #144 from str4d/warning-fix
...
Fix rand_os warning in tests
2019-11-04 23:03:07 +00:00
str4d
5823a695e2
Merge pull request #139 from adityapk00/tx_compare
...
Implement sorting for TxIDs
2019-11-04 16:29:59 +00:00
Jack Grigg
bc35a62e10
Remove rand_os dependency
2019-10-31 18:57:52 +00:00
str4d
40d22ea2cc
Merge pull request #135 from NikVolf/extern-purge
...
Remove unneeded "extern crate"
2019-10-31 17:12:26 +00:00
Jack Grigg
ac4acfa26e
Fix rand_os warning in tests
2019-10-31 16:36:54 +00: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
str4d
2cd8a7f4d2
Merge pull request #114 from str4d/compact-blocks
...
CompactBlock parsing and scanning
2019-10-10 08:11:50 +13:00
Jack Grigg
274f860202
Actions: 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-10-09 14:15:07 +13:00
Jack Grigg
e9f94119bc
Store witness inside WalletShieldedOutput
2019-10-09 14:12:30 +13:00
Jack Grigg
b44653e686
Move cmu and epk parsing onto CompactOutput struct
2019-10-09 14:12:30 +13:00
Jack Grigg
7fa51e38c0
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-10-09 14:12:30 +13:00
Jack Grigg
1e2bc7f65c
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-10-09 14:12:27 +13: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
Jack Grigg
b66ac11775
Update new witnesses with subsequent transactions in the same block
2019-10-09 14:11:14 +13:00
Jack Grigg
e746f7b6f9
Add tx index within block to WalletTx struct
2019-10-09 14:11:14 +13:00
Jack Grigg
3b9dfc1e0b
Detect change notes while scanning blocks
2019-10-09 14:11:14 +13:00
Jack Grigg
fb9e9bb12f
Check for spent notes while scanning blocks
2019-10-09 14:11:14 +13:00
Jack Grigg
2b71121681
Return the entire note and recipient address when scanning an output
2019-10-09 14:11:14 +13:00
Jack Grigg
f899ecfce5
Increment the commitment tree and witnesses while scanning blocks
2019-10-09 14:11:14 +13:00
Jack Grigg
591b1fc28f
Parse compact blocks to find wallet transactions
2019-10-09 14:11:12 +13:00
Jack Grigg
af7e263bcc
Build protobufs for compact formats
2019-10-09 14:09:41 +13:00
str4d
a57dc7f478
Merge pull request #138 from str4d/release-0.1.0
...
Release 0.1.0
2019-10-09 11:11:58 +13:00
Jack Grigg
98731c8374
librustzcash 0.2.0
2019-10-08 17:43:33 +13:00
Jack Grigg
b0ba7fe4d2
zcash_client_backend 0.1.0
2019-10-08 17:43:33 +13:00
Jack Grigg
d6bc2fe0af
zcash_proofs 0.1.0
2019-10-08 17:43:33 +13:00
Jack Grigg
8b08528bb0
zcash_primitives 0.1.0
2019-10-08 17:43:33 +13:00
Jack Grigg
25558893ab
bellman 0.2.0
2019-10-08 17:43:33 +13:00
Jack Grigg
68cada53cf
pairing 0.15.0
2019-10-08 17:43:33 +13:00
Jack Grigg
aa37783c37
group 0.2.0
2019-10-08 17:43:33 +13:00
Jack Grigg
216f0f62a0
ff 0.5.0
2019-10-08 17:43:33 +13:00
Jack Grigg
80d339848f
Actions: Various CI improvements
...
- Test against MSRV
- Parallel linting
- Compile benchmarks on nightly
2019-10-08 15:59:40 +13:00
Jack Grigg
b872e9fc49
Fix pairing benchmarks
...
They were broken by #91 but went unnoticed because CI does not compile
the benchmarks, which requires the nightly toolchain.
2019-10-08 15:25:41 +13:00
str4d
39971891d5
Merge pull request #131 from str4d/119-key-encoding-tests
...
Unit tests for key encodings
2019-10-08 13:48:05 +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
str4d
212b6e67d0
Merge pull request #133 from NikVolf/patch-1
...
Bump Rust to 1.37 on CI
2019-10-08 09:43:18 +13:00
str4d
6de1cb1397
Merge pull request #137 from jimpo/rand_core-version
...
Specify rand_core >= 0.5.1 for OsRng import.
2019-10-05 16:12:26 -06: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
str4d
c68e15e4f3
Merge pull request #130 from str4d/crate-docs
...
Crate documentation updates
2019-09-28 10:32:35 +01:00
Jack Grigg
e7b5329e95
Unit tests for key encodings
...
Closes #119 .
2019-09-24 17:47:10 +01: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
1fbf38280e
Fix intra-doc links
2019-09-24 10:42:49 +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
str4d
30660e1d1c
Merge pull request #128 from str4d/125-zip-32-seed-length
...
Panic if spending_key is given a seed shorter than 32 bytes
2019-09-19 06:52:10 -04:00
str4d
d2da9cfcb0
Merge pull request #127 from str4d/more-crate-updates
...
More crate updates
2019-09-18 11:44:13 -04:00
Jack Grigg
450087e280
Add test for spending_key panic on short seed
2019-09-17 23:58:14 +01:00
Jack Grigg
9377b78b35
Panic if spending_key is given a seed shorter than 32 bytes
...
This enforces the MUST requirement in ZIP 32. A panic is used instead of
an error because this should be considered an implementation error.
Ideally the type system would prevent this from occurring at all.
Closes #125 .
2019-09-17 21:28:23 +01:00
Jack Grigg
39a73c8eda
Add missing cs.is_satisfied() to bellman test
2019-09-17 00:16:33 +01:00