Commit Graph

12086 Commits

Author SHA1 Message Date
tpantin cc2fcb40a1
Updating copyright year from 2017 to 2018 2018-10-27 16:19:40 -04:00
Homu 11fa12773e Auto merge of #3633 - str4d:params-path-encoding, r=bitcartel
Pass parameter paths as native strings to librustzcash

Fixes a user-reported crash when starting on Windows with a Cyrillic non-UTF-8 locale.
2018-10-27 11:22:17 -07:00
Jack Grigg 262cf38712
Build librustzcash package without changing directory
This ensures that the depends system's custom PATH is applied correctly,
and the pre-build Rust binaries are accessible.
2018-10-28 06:41:53 +13:00
Jack Grigg ee3fa7020e
Pass parameter paths as native strings to librustzcash 2018-10-27 19:19:02 +13:00
Jack Grigg eff2938e46
Migrate to current librustzcash
The only upstream change relative to the previous commit is that the
various Zcash-specific dependencies have been pulled into a cargo
workspace. The dependecies in the workspace use the same commits as the
crates we had previously vendored.

The patches are necessary to handle the fact that cargo requires that
dev dependencies are available even if not used, and we would otherwise
need to vendor all the underlying crates.
2018-10-27 17:03:47 +13:00
Simon fa46ab10b8 Closes #3329. Send alert to put non-Sapling nodes into safe mode.
The alert targets nodes running protocol version <= 170006.
Sapling compatible nodes run protocol version >= 170007.
2018-10-25 11:44:31 -07:00
Simon 30fc0d3c06 Closes #3616. Document revoked key error when upgrading on Debian. 2018-10-25 11:30:22 -07:00
Homu 186874bb83 Auto merge of #3622 - Eirik0:rpc-assert-message, r=daira
Fix potentially misleading test failures

This is in response to https://github.com/zcash/zcash/pull/3590#discussion_r224677644

Currently statements such as:

```assert_equal("Embarassment", "Embarrassment", "Misspelling detected")```

Will produce essentially the following error:
```
Assertion failed: Misspelling detected; expected: <Embarassment> but was: <Embarrassment>
  File "/home/eirik/Development/zcash/qa/rpc-tests/test_framework/test_framework.py", line 121, in main
    self.run_test()
  File "/home/eirik/Development/zcash/qa/rpc-tests/test_spelling.py", line 13, in run_test
```
Which is misleading because the item on the left is not what is actually expected.

This PR changes the assertion failure to be displayed as:
```
Assertion failed: (left == right); Misspelling detected
  left: <Embarassment>
 right: <Embarrassment>
  File "/home/eirik/Development/zcash/qa/rpc-tests/test_framework/test_framework.py", line 121, in main
    self.run_test()
  File "/home/eirik/Development/zcash/qa/rpc-tests/test_spelling.py", line 13, in run_test
```
2018-10-24 23:14:19 -07:00
Homu e88a069627 Auto merge of #3620 - Eirik0:fix-sendmany-errmsg, r=bitcartel
Fix error message

This error should never happen, but it may as well reference the method it is thrown from.
2018-10-24 14:12:05 -07:00
Eirik Ogilvie-Wigley 882a4f577f Fix potentially misleading test failures 2018-10-24 13:53:25 -06:00
Eirik Ogilvie-Wigley 81005fb214 Fix error message 2018-10-24 12:05:48 -06:00
Larry Ruane 245db9c8a6 update bug in wallet_listreceived.py, now it highlights the fix 2018-10-24 08:13:56 -06:00
Homu dc3398fa88 Auto merge of #3611 - bitcartel:3467_add_sapling_benchmarks, r=bitcartel
Closes #3467. Add benchmarks for Sapling spends and outputs.

Four new benchmarks are added to RPC zcbenchmark:
- createsaplingspend
- createsaplingoutput
- verifysaplingspend
- verifysaplingoutput
2018-10-23 22:52:22 -07:00
Larry Ruane 19621a7993 sapling z_sendmany default memo 0xf6 + zeros 2018-10-23 15:13:41 -06:00
Homu d2019a4ccd Auto merge of #3581 - Eirik0:3580-unspent-note-cleanup, r=daira
Remove GetUnspentFilteredNotes

Closes #3580

This PR generalized `GetFilteredNotes`, expanding its functionality to also do what we do in `GetUnspentFilteredNotes`. This enables us to remove the latter.
2018-10-22 22:36:05 -07:00
Eirik Ogilvie-Wigley 095eee4f4d Wrap long line and update comments 2018-10-22 10:01:17 -06:00
Homu 32c2c17a91 Auto merge of #3579 - Eirik0:3577-generate-sprout-zkey, r=bitcartel
Make it clear that CWallet::GenerateNewZKey is Sprout specific

Closes https://github.com/zcash/zcash/issues/3577

When adding sapling support we had considered making the method `GenerateNewZKey` generic, but it ended up making more sense to add a second method `GenerateNewSaplingZKey` for sapling support.

This PR changes the name of `GenerateNewZKey` to `GenerateNewSproutZKey` and changes the return type from `libzcash::PaymentAddress` to `libzcash::SproutPaymentAddress` to make it more clear that this is what the method does.
2018-10-18 19:47:46 -07:00
Simon 67d2b79783 Closes #3467. Add benchmarks for Sapling spends and outputs.
Four new benchmarks are added to RPC zcbenchmark:
- createsaplingspend
- createsaplingoutput
- verifysaplingspend
- verifysaplingoutput
2018-10-18 19:10:59 -07:00
Homu d810703431 Auto merge of #3588 - bitcartel:hash_final_sapling_root_verification, r=bitcartel
Add test to verify final sapling root in block header is updated.
2018-10-18 17:52:11 -07:00
Homu e077fb321b Auto merge of #3541 - leto:amount_docs, r=bitcartel
Clarify in sendmany/z_sendmany rpc docs that amounts are not FP

Fixes #3539

I clarified in the docs that only 8 digits of precision are allowed. For example, if you try 9 digits you will get:
```
zcash-cli z_sendmany $TADDR  "[{\"address\":\"$ZADDR\",\"amount\":0.123456789}]"
error code: -3
error message:
Invalid amount
```
2018-10-18 15:36:34 -07:00
Eirik Ogilvie-Wigley e92414f91e Remove GetUnspentFilteredNotes 2018-10-18 15:52:13 -06:00
Eirik Ogilvie-Wigley ef27d7e4b3 Add functionality from GetUnspentFilteredNotes to GetFilteredNotes 2018-10-18 15:52:13 -06:00
Eirik Ogilvie-Wigley 9396b85db8 Remove unspent note entry structs 2018-10-18 15:52:07 -06:00
Homu e8f5e592b8 Auto merge of #3602 - bitcartel:release-v2.0.1, r=ebfull
Release v2.0.1
2018-10-14 13:56:08 -07:00
Simon 472f7fa873 make-release.py: Updated release notes and changelog for 2.0.1. 2018-10-14 13:40:30 -07:00
Simon 6282e3ed2a make-release.py: Updated manpages for 2.0.1. 2018-10-14 13:40:30 -07:00
Simon 0cabb007ae make-release.py: Versioning changes for 2.0.1. 2018-10-14 13:39:40 -07:00
Simon 3332fb00e4 Update release-notes.md for clarity. 2018-10-14 13:38:49 -07:00
Homu 5893430d40 Auto merge of #3601 - bitcartel:update_release_notes_201, r=bitcartel
Update release notes for v2.0.1
2018-10-14 10:46:06 -07:00
Simon cfcea81238 Update release notes for v2.0.1 2018-10-14 09:23:49 -07:00
Jonathan "Duke" Leto 5707edd4b1 Fix another instance of incorrectly saying amount is double precision, and s/ZC/ZEC/ 2018-10-14 06:37:25 -07:00
Homu 89f5ee5dec Auto merge of #3599 - bitcartel:update_checkpoints_201, r=bitcartel
Update mainnet checkpoint for block 410100.
2018-10-13 18:19:49 -07:00
Homu f358a92ec4 Auto merge of #3596 - bitcartel:stop_v3_tx_creation_when_sapling, r=bitcartel
For #3359. RPCs return error if Sapling addresses used before Sapling activation.
2018-10-13 13:20:02 -07:00
Simon 85809c75ad Update mainnet checkpoint for block 410100. 2018-10-13 08:55:38 -07:00
Simon 61caa46619 For #3359. Return error if Sapling addresses passed to RPC z_mergetoaddress.
RPC z_mergetoaddress does not support Sapling yet but the existing error
reporting was not clear to users.
2018-10-13 08:10:10 -07:00
Simon de1b86a429 For #3359. RPCs transferring funds return error if Sapling addresses are used before Sapling activation. 2018-10-12 23:14:06 -07:00
Homu 527b7feef5 Auto merge of #3592 - Eirik0:z-sendmany-better-error, r=bitcartel
Better error message when sending to both sprout and sapling

When trying to send to both Sprout and Sapling (not currently supported with z_sendmany) we were getting the following error in our operation result: `general exception: boost::bad_get: failed value get using boost::get`.

This PR changes this to fail with a better error message before the async operation begins:
```
error code: -8
error message:
Cannot send to both Sprout and Sapling addresses using z_sendmany
```
2018-10-12 15:30:34 -07:00
Eirik Ogilvie-Wigley 0917c84d9a Better error message when sending to both sprout and sapling
Co-authored-by mdr0id <marshall@z.cash>
2018-10-12 14:12:21 -06:00
Homu 2e0be155a2 Auto merge of #3590 - bitcartel:fix_nullifier_persistence, r=bitcartel
Resolves Sapling nullifier persistence issue when importing a key.

During a rescan, a CWalletTx was persisted to disk before it had its
note data set.  This meant that upon restart, the CWalletTx would
potentially be missing its nullifiers causing the balance to include
notes which had already been spent.

The resolution is to force a CWalletTx to be persisted after it has had
its nullifiers set correctly, before the note witnesses are updated.
2018-10-12 10:30:17 -07:00
Simon 01918e8742 Update test to verify Sapling nullifiers and witnesses persist correctly. 2018-10-11 21:52:56 -07:00
Simon cd10562c73 Resolves Sapling nullifier persistence issue when importing a key.
During a rescan, a CWalletTx was persisted to disk before it had its
note data set.  This meant that upon restart, the CWalletTx would
potentially be missing its nullifiers causing the wallet's balance
to include notes which had already been spent.

The resolution is to ensure that after a rescan, a CWalletTx is
persisted after it has had its nullifiers set correctly.

Co-authored-by: Eirik Ogilvie-Wigley <eirik@z.cash>
2018-10-11 21:25:53 -07:00
arielgabizon eb0bf23751 add test for sapling spend with transparent recipient 2018-10-11 15:22:20 +02:00
Simon 56765e24cb Add test to verify final sapling root in block header is updated. 2018-10-10 17:30:58 -07:00
Homu 807fb7497f Auto merge of #3587 - Eirik0:3586-fix-dump-comment, r=ebfull
Fix HDSeed comment in wallet dump

Closes #3586
2018-10-10 16:34:49 -07:00
Eirik Ogilvie-Wigley 3f824a908b Fix HDSeed comment 2018-10-10 16:00:59 -06:00
Jack Grigg 9aab383508
Update IncrementalMerkleTree test vectors to use valid commitments
The original commitments were SHA256 outputs, and some were outside the
scalar field. This didn't affect the Merkle hash, which drops the high
bit from each commitment, but it does affect the creation of the Merkle
path in Rust, which requires path nodes to be valid scalars.

Here, we explicitly drop the high bit of all test vector commitments,
as well as reducing the two that remain outside the field. The test
vectors still pass, and can now also be used in the Rust implementation.
2018-10-10 20:55:50 +01:00
Homu 732e167043 Auto merge of #3450 - leto:rpctest-readme, r=str4d
Fix some typos in rpc-tests readme
2018-10-09 13:18:07 -07:00
Eirik Ogilvie-Wigley 6829be1902 Remove unnecessary call to IsValidPaymentAddress 2018-10-08 16:25:29 -06:00
Eirik Ogilvie-Wigley d6ad8cef2c GenerateNewSproutZKey can return a SproutPaymentAddress 2018-10-08 14:52:58 -06:00
Homu 2b4c89c59b Auto merge of #3578 - mdr0id:release-v2.0.1-rc1, r=bitcartel
Release v2.0.1-rc1
2018-10-08 13:41:35 -07:00