Commit Graph

12233 Commits

Author SHA1 Message Date
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
Jack Grigg 40e4981a32
Remove the testing of duplicate coinbase transactions
Inapplicable to Zcash because BIP 30 and BIP 34 have been applied from the
beginning.
2018-10-24 20:10:53 +08:00
Alex Morcos dd2d90346c
Add unit test for UpdateCoins 2018-10-24 20:10:53 +08:00
Alex Morcos 244d8a4255
Make CCoinsViewTest behave like CCoinsViewDB
Zcash: Modified to also address Zcash changes.

Co-authored-by: Jack Grigg <jack@z.cash>
2018-10-24 20:03:40 +08:00
Alex Morcos 7335afabd4
ModifyNewCoins saves database lookups
When processing a new transaction, in addition to spending the Coins of its txin's it creates a new Coins for its outputs.  The existing ModifyCoins function will first make sure this Coins does not already exist.  It can not exist due to BIP 30, but because of that the lookup can't be cached and always has to go to the database.  Since we are creating the coins to match the new tx anyway, there is no point in checking if they exist first anyway.

Zcash: Modified to account for the fact that BIP 30 and BIP 34 have applied
from the beginning.
2018-10-24 19:28:39 +08:00
Pieter Wuille cf47f9550e
Don't wipe the sigcache in TestBlockValidity 2018-10-24 19:28:39 +08:00
Pieter Wuille e4734f2748
Evict sigcache entries that are seen in a block 2018-10-24 19:28:39 +08:00
Pieter Wuille 3a78872137
Make sigcache faster and more efficient 2018-10-24 19:28:39 +08: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
Eirik Ogilvie-Wigley 92fc29a3f4 Rename GenerateNewZKey to include Sprout 2018-10-08 14:23:03 -06:00
mdr0id 79ec0c6529 make-release.py: Updated release notes and changelog for 2.0.1-rc1. 2018-10-08 12:40:54 -07:00
mdr0id 426a9a7e0e make-release.py: Updated manpages for 2.0.1-rc1. 2018-10-08 12:40:54 -07:00