Commit Graph

281 Commits

Author SHA1 Message Date
zkbot
f37f0805cc Auto merge of #1980 - bitcartel:fix_z_sendmany_logging_bug_txid, r=ebfull
Fix bug where z_sendmany logged incorrect txid fragment when sending from taddr

Closes #1987.
2017-01-18 05:10:18 +00:00
zkbot
c583e42e6b Auto merge of #1977 - bitcartel:1967_z_sendmany_debug_age_of_notes, r=ebfull
Fixes #1967 by adding age of note to z_sendmany logging.
2017-01-18 04:29:06 +00:00
zkbot
1e8778a274 Auto merge of #1976 - bitcartel:1964_z_sendmany_exception_handling, r=ebfull
Fixes #1964 to catch general exception in z_sendmany and catch exceptions as reference-to-const.
2017-01-18 03:48:12 +00:00
zkbot
ee2f1ebb9d Auto merge of #1942 - str4d:1940-threaded-createjoinsplit, r=ebfull
Extend createjoinsplit to benchmark parallel JoinSplits

Closes #1940
2017-01-18 01:04:05 +00:00
zkbot
4169cddd64 Auto merge of #1991 - bitcartel:1960_z_getoperation_include_call_details, r=ebfull
Fixes #1960: z_getoperationstatus/result now includes operation details.
2017-01-17 19:24:07 +00:00
zkbot
9cd91833a5 Auto merge of #2015 - bitcartel:1780_sort_getoperationstatus, r=ebfull
Closes #1780. Result of z_getoperationstatus now sorted by operation's creation time.
2017-01-17 04:06:28 +00:00
Simon
8aa7937d44 Fixes #1960: z_getoperationstatus/result now includes operation details. 2017-01-16 16:45:27 -08:00
Simon
2d2f3d1806 Closes #1780. Result of z_getoperationstatus now sorted by creation time of operation 2017-01-11 11:49:10 -08:00
Simon
4c1cd287be Fixes a bug where the unsigned transaction was logged by z_sendmany
after a successful sign and send, meaning that the logged hash fragment
would be different from the txid logged by "AddToWallet".  This issue
occured when sending from transparent addresses, as utxo inputs must be
signed.  It did not occur when sending from shielded addresses.
2017-01-04 12:26:23 -08:00
Simon
01f6c5dbee Fixes #1967 by adding age of note to z_sendmany logging. 2017-01-03 23:57:11 -08:00
Simon
fce7260811 Fixes #1964 to catch general exception in z_sendmany and catch
exceptions as reference-to-const.
2017-01-03 12:50:19 -08:00
Jack Grigg
6daab5b4fc Only run wallet tests when wallet is enabled 2016-12-16 10:52:37 +13:00
zkbot
a530e9582f Auto merge of #1939 - str4d:1933-fix-bug, r=str4d
Only increment new notes on reindex

Addresses another issue in #1904.

When an existing one of our notes was found again, its cache was reset and it was re-witnessed. This would cause encountered notes to get out-of-sync with the otherwise-ignored newer notes, which could be a problem if the wallet data happens to be written out during a reindex.
2016-12-15 01:32:30 +00:00
Jack Grigg
4082dcb10f Extend createjoinsplit to benchmark parallel JoinSplits
Closes #1940
2016-12-14 15:28:00 +13:00
zkbot
5c47d620f4 Auto merge of #1892 - str4d:1749-disable-js-verification-before-checkpoints, r=str4d
Skip JoinSplit verification before the last checkpoint

Part of #1749
2016-12-13 10:36:48 +00:00
Jack Grigg
c0ec0e756b Fix bug in IncrementNoteWitness() 2016-12-13 22:53:52 +13:00
Jack Grigg
78f4e0ef37 Rewrite reindex test to check beyond the max witness cache size 2016-12-13 22:53:29 +13:00
Jack Grigg
0752d1f8c4 Extract block-generation wallet test code into a function 2016-12-13 22:53:11 +13:00
Jack Grigg
35ce717f96 Fix bug in wallet tests 2016-12-13 22:50:57 +13:00
Jack Grigg
6f78f4f44c Only check cache validity for witnesses being incremented or decremented
Fixes the bug resulting from #1904.
2016-12-13 09:34:55 +13:00
zkbot
9f7bc6cba5 Auto merge of #1904 - str4d:1749-write-witness-cache-with-best-block, r=ebfull
Write witness caches when writing the best block

For steady-state operation, this reduces the average time between wallet disk
writes from once per block to once per hour.

On -rescan, witness caches are only written out at the end along with the best
block, increasing speed while ensuring that on-disk state is kept consistent.

Witness caches are now never recreated during a -reindex, on the assumption that
the blocks themselves are not changing (the chain is just being reconstructed),
and so the witnesses will remain valid.

Part of #1749.
2016-12-09 21:11:15 +00:00
Jack Grigg
9d2cc3a784 Make the test pass by fixing the bug! 2016-12-10 00:56:32 +13:00
Jack Grigg
eeee6d5d6c Add a reindex test that fails because of a bug in decrementing witness caches
Ref: https://github.com/zcash/zcash/pull/1904#issuecomment-265992988
2016-12-10 00:51:32 +13:00
Jack Grigg
6fb8d0c2d6 Skip JoinSplit verification before the last checkpoint
Part of #1749
2016-12-09 21:06:45 +13:00
zkbot
8a6c070bfa Auto merge of #1870 - str4d:1749-benchmark-rescanning, r=str4d
Add benchmarks for rescan components

Part of #1749.
2016-12-09 07:12:22 +00:00
zkbot
a398121503 Auto merge of #1919 - ebfull:abstract-verification, r=str4d
Isolate verification to a ProofVerifier context object that allows verification behavior to be tuned by the caller.

This is an alternative foundation for #1892, i.e., #1892 will have to be changed if this PR is accepted.

I think this is a safer approach because it allows us to isolate verification behavior to a single object. This will come in handy when @arielgabizon finishes the batching code.
2016-12-09 06:22:53 +00:00
Jack Grigg
88b7f3c28b Generate JS for trydecryptnotes, make number of addresses a variable 2016-12-09 16:59:39 +13:00
zkbot
e68e26c208 Auto merge of #1911 - bitcartel:1823_witness_does_not_have_same_anchor_as_change_input, r=str4d
With chained joinsplits, witness anchors for input notes no longer cross block boundaries

Closes #1823
2016-12-08 01:23:40 +00:00
Simon
84e8c5f921 WitnessAnchorData only needs to store one witness per JSOutPoint. 2016-12-07 12:05:29 -08:00
Jack Grigg
d85758f5cc Document behaviour of CWallet::SetBestChain 2016-12-07 19:30:30 +13:00
Sean Bowe
bc59f53722 Isolate verification to a ProofVerifier context object that allows verification behavior to be tuned by the caller. 2016-12-05 12:40:06 -07:00
Simon
2d931e905b Fixes #1823. Witness anchors for input notes no longer cross block boundaries. 2016-12-03 00:22:42 -08:00
Simon
af53da0225 Closes #1903. Add fee parameter to z_sendmany. 2016-11-30 14:23:35 -08:00
Jack Grigg
03f83b9b0d Write witness caches when writing the best block
For steady-state operation, this reduces the average time between wallet disk
writes from once per block to once per hour.

On -rescan, witness caches are only written out at the end along with the best
block, increasing speed while ensuring that on-disk state is kept consistent.

Witness caches are now never recreated during a -reindex, on the assumption that
the blocks themselves are not changing (the chain is just being reconstructed),
and so the witnesses will remain valid.

Part of #1749.
2016-11-30 14:04:37 +13:00
Jack Grigg
0bb3d40f90 Add benchmark for incrementing note witnesses 2016-11-17 22:26:46 +13:00
Jack Grigg
0fbab55b1b Add benchmark for attempting decryption of notes 2016-11-17 19:09:45 +13:00
Simon
0afd3687c8 Closes #1854. z_sendmany selects more utxos to avoid dust change output. 2016-11-15 17:12:37 -08:00
Simon
de38bfbbed Track the correct change witness across chained joinsplits 2016-11-15 12:39:16 -08:00
Jack Grigg
a4ef3aa9b5 Clear witnessHeight and nWitnessCacheSize in ClearNoteWitnessCache 2016-11-15 17:53:41 +13:00
Jack Grigg
ccfd8aae1d Add code comments about CNoteData::witnessHeight 2016-11-15 16:42:22 +13:00
Jack Grigg
4a6a48479d Copy over CNoteData::witnessHeight when updating wallet tx 2016-11-15 14:08:41 +13:00
Jack Grigg
40ef121e6a Correctly set CNoteData::witnessHeight when decrementing witness caches
Closes #1715
2016-11-15 14:08:35 +13:00
Simon
9384e74c50 Closes #1833. Format currency amounts in z_sendmany error message.
Improve coverage of possible error states from z_sendmany.
Refactor qa test for z_sendmany operations.
2016-11-10 16:57:36 -08:00
ayleph
48f9c65b55 Correct spelling error in z_sendmany error output
Change "alllowed" -> "allowed."
2016-11-08 13:13:48 -08:00
Simon
3920292b43 Add transaction size and zaddr output limit checks to z_sendmany. 2016-11-07 09:29:56 -08:00
Simon
38276c6ba2 Add GenIdentity, an identity function for MappedShuffle.
We use this function in z_sendmany as part of the fix for #1779.
2016-11-05 14:17:19 -07:00
Simon
7c463780cf Fixes #1779 so that sending to multiple zaddrs no longer fails.
Commit 2eeb6b randomized the order of input and output notes,
but this is now known to prevent the chaining of multiple joinsplits
in a single transaction.  The root cause has yet to be determined.

This patch is a temporary fix and disables the shuffling of input
and output notes.  It also adds a chained joinsplit test to the
python qa test suite.
2016-11-04 23:23:48 -07:00
Sean Bowe
c4643bd949 Throw more descriptive exceptions when the constraint system is violated. 2016-11-01 14:52:03 -06:00
Sean Bowe
58c4c0bba3 Change some Bitcoin strings to Zcash strings. 2016-10-26 13:29:05 -06:00
zkbot
489f1d38ee Auto merge of #1629 - bitcartel:1616_wallet_disallow_coinbase_change, r=daira
Add z_sendmany rule that when coinbase utxos must be spent in their entirety, with no change

See #1616 - coinbase utxos must be consumed entirely, without any change, since there
is currently no way to specify a change address in z_sendmany.
2016-10-25 15:40:36 -04:00