Commit Graph

337 Commits

Author SHA1 Message Date
Homu
59de56eeca Auto merge of #2342 - bitcartel:1081__mempoolpatch, r=str4d
Add ability for node to reject tx from mempool by number of tx inputs

Implement short-term solution described in #2343 so that users can respond promptly to critical short-term problems caused by quadratic validation scaling, such as the getblocktemplate latency, block propagation latency, and mempool size inflation issues described in #2333.
2017-06-21 14:42:13 -07:00
Simon
d8616d012a Partial revert & fix for commit 9e84b5a ; code block in wrong location. 2017-06-19 21:11:34 -07:00
Simon
9e84b5aa0d Check mempooltxinputlimit when creating a transaction to avoid local
mempool rejection.
2017-06-17 14:41:25 -07:00
Homu
dfa4ed19bb Auto merge of #2440 - bitcartel:1360_reduce_info_leakage_vpub_new, r=str4d
Fix intermediate vpub_new leakage in multi joinsplit tx

Resolves information leakage discussed here https://github.com/zcash/zcash/issues/1360#issuecomment-284561331

Example output in debug.log showing how intermediate vpub_new is now 0
https://gist.github.com/bitcartel/86ca316b74f0b1ec6d8de3ac132006da

When reviewing, note that the indentation of a large chunk of code (scenario 3 part 2) changed, so use `git diff -w` (or similar) or append `?w=1` to the Github URL e.g. https://github.com/zcash/zcash/pull/2440/files?w=1
2017-06-15 21:33:01 -07:00
Homu
6189c70caa Auto merge of #1747 - str4d:fix-spendingkey-locking, r=str4d
Fix incorrect locking in CCryptoKeyStore
2017-06-15 16:02:07 -07:00
Simon
c93a0872e8 Fix intermediate vpub_new leakage in multi joinsplit tx (#1360) 2017-06-13 23:21:53 -07:00
Jack Grigg
c66c731adf Add a benchmark for calling ConnectBlock on a block with many inputs
Requires placing block-107134.tar.gz (containing the block, and a fake CoinsDB
containing its inputs) into the base directory of the repository. This can be
generated using qa/zcash/create_benchmark_archive.py (see the script for usage
details).

To facilitate generation of the fake CoinsDB, an additional field 'valueZat' has
been added to 'getrawtransaction' containing the integer number of zatoshis
instead of a decimal number of ZEC.

Closes #2355.
2017-05-18 11:03:46 +12:00
Jay Graber
704547965a Change help text examples to use Zcash addresses 2017-03-24 14:52:28 -07:00
Jack Grigg
33589401ba Require that z_importkey height parameter be in valid range 2017-03-24 16:07:53 +13:00
Jack Grigg
b7e5b7d5ee Simplify z_importkey by making rescan a string
Transparently handles older boolean values as well.
2017-03-23 15:57:11 +13:00
Jack Grigg
a31ba7a0cb Usability improvements for z_importkey
- Add height parameter to z_importkey to reduce rescan range
- Change semantics of rescan parameter, so users can explicitly force a rescan
  for existing keys.

Closes #2032
2017-03-16 19:34:41 +13:00
zkbot
a7cf698873 Auto merge of #2100 - str4d:2074-rpc, r=arcalinea
Bitcoin 0.12 RPC PRs 1

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6266
- bitcoin/bitcoin#6257
- bitcoin/bitcoin#6271
- bitcoin/bitcoin#6158
- bitcoin/bitcoin#6307
- bitcoin/bitcoin#6290
- bitcoin/bitcoin#6262
- bitcoin/bitcoin#6088
- bitcoin/bitcoin#6339
- bitcoin/bitcoin#6299 (partial, remainder in #2099)
- bitcoin/bitcoin#6350
- bitcoin/bitcoin#6247
- bitcoin/bitcoin#6362
- bitcoin/bitcoin#5486
- bitcoin/bitcoin#6417
- bitcoin/bitcoin#6398 (partial, remainder was included in #1950)
- bitcoin/bitcoin#6444
- bitcoin/bitcoin#6456 (partial, remainder was included in #2082)
- bitcoin/bitcoin#6380
- bitcoin/bitcoin#6970

Part of #2074.
2017-03-04 02:57:46 +00:00
Philip Kaufmann
db954a65ac use const references where appropriate 2017-03-03 10:57:05 -08:00
Jack Grigg
3c014397a9 BTC -> ZEC in paytxfee RPC docs
Revert before merging bitcoin/bitcoin#6504.
2017-03-02 13:26:34 -08:00
Matt Corallo
3d8013a01b Add fundrawtransaction RPC method 2017-03-02 13:23:03 -08:00
Matt Corallo
aa30f65502 Add FundTransaction method to wallet
Some code stolen from Jonas Schnelli <jonas.schnelli@include7.ch>
2017-03-02 13:23:03 -08:00
Stephen
6699b42518 Add paytxfee to getwalletinfo, warnings to getnetworkinfo 2017-03-02 13:23:03 -08:00
zkbot
312fbd9d0e Auto merge of #1932 - aniemerg:1522-pause-mining-for-joinsplit, r=arcalinea
Pause mining during JoinSplit creation

Closes #1522 .
2017-03-02 01:23:44 +00:00
Allan Niemerg
49c2cecb9f Pause mining during joinsplit creation 2017-03-01 16:54:26 -08:00
Simon
2f21206cfc Closes #2112 where z_getoperationresult could return stale status. 2017-02-22 16:14:56 -08:00
Jack Grigg
f54db399f2 Get rid of fPlus argument to FormatMoney in Zcash-specific code 2017-02-10 02:19:14 +00:00
Jack Grigg
c24109ecc3 UniValue::getValues const reference 2017-02-10 02:19:12 +00:00
Jack Grigg
2cc6bab201 Update UniValue includes in Zcash-specific code 2017-02-10 02:19:06 +00:00
Wladimir J. van der Laan
e76a3849c6 Changes necessary now that zero values accepted in AmountFromValue
- Add an accept test for zero amounts, and a reject test for negative
  amounts
- Remove ugly hack in `settxfee` that is no longer necessary
- Do explicit zero checks in wallet RPC functions
- Don't add a check for zero amounts in `createrawtransaction` - this
  could be seen as a feature
2017-02-10 02:18:57 +00:00
Jonas Schnelli
a10a6e2a0e [Univalue] add univalue over subtree
similar to secp256k1 include and compile univalue over a subtree
2017-02-10 02:18:51 +00:00
Jack Grigg
cc71666a51 unsigned int -> size_t for comparing with UniValue.size() 2017-02-10 00:53:13 +00:00
Jack Grigg
0d37ae3a59 Migrate Zcash-specific code to UniValue 2017-02-10 00:52:57 +00:00
Jonas Schnelli
d014114d67 Remove JSON Spirit wrapper, remove JSON Spirit leftovers
- implement find_value() function for UniValue
- replace all Array/Value/Object types with UniValues, remove JSON Spirit to UniValue wrapper
- remove JSON Spirit sources
2017-02-10 00:35:24 +00:00
Jonas Schnelli
851f58f94e remove JSON Spirit UniValue wrapper 2017-02-10 00:35:24 +00:00
Jonas Schnelli
38fc4b7090 expicit set UniValue type to avoid empty values 2017-02-10 00:35:24 +00:00
Jonas Schnelli
9756b7bd29 extend conversion to UniValue 2017-02-10 00:35:24 +00:00
Jeff Garzik
ed21d5bd4b Convert tree to using univalue. Eliminate all json_spirit uses. 2017-02-10 00:35:24 +00:00
Jack Grigg
b8eb37757b Require -experimentalmode for wallet encryption 2017-02-09 22:10:58 +00:00
zkbot
0c78782662 Auto merge of #1965 - str4d:1955-single-address-mining, r=bitcartel
Switch miner to P2PKH, add -mineraddress option

Closes #945 and #1955.
2017-02-09 20:58:00 +00:00
zkbot
b2e2dccc64 Auto merge of #2068 - bitcartel:2045_sendmany_fee_zero, r=bitcartel
Closes #2045 by allowing z_sendmany with 0 fee
2017-02-09 18:56:44 +00:00
zkbot
80a32b2845 Auto merge of #1863 - str4d:1795-config-flag-disable-miner, r=bitcartel
Add compile flag to disable compilation of mining code

Closes #1795
2017-02-09 17:43:43 +00:00
zkbot
138f19b0ba Auto merge of #2072 - bitcartel:2060_debug_zrpc_zrpcunsafe, r=bitcartel
Closes #2060 by updating zrpc and zrpcunsafe logging
2017-02-08 18:54:47 +00:00
Simon
43b6753782 Update zrpc vs zrpcunsafe logging in z_sendmany operation 2017-02-08 10:50:40 -08:00
zkbot
dff700c1af Auto merge of #2055 - str4d:1545-note-decryption-error-class, r=daira
Use a more specific exception class for note decryption failure

Closes #1545.
2017-02-08 03:12:37 +00:00
Simon
7eccce4e44 Closes #2045 by allowing z_sendmany with 0 fee 2017-02-06 14:14:28 -08:00
Jack Grigg
8e8b6d701b Switch miner to P2PKH, add -mineraddress option
Closes #945 and #1955.
2017-02-06 11:54:58 +00:00
zkbot
499e34fc64 Auto merge of #1706 - paragonie:master, r=bitcartel
Use libsodium's CSPRNG instead of OpenSSL's

Closes #1632.
2017-02-05 18:26:11 +00:00
Simon
ee84f279a9 Update z_sendmany logging 2017-02-01 09:27:44 -08:00
Simon
3110b793f0 Closes #2057 by adding extra zrpcunsafe logging 2017-01-31 22:00:46 -08:00
Jack Grigg
51fde9ea08 Use a more specific exception class for note decryption failure
Closes #1545.
2017-01-31 23:05:19 +01:00
Jack Grigg
2cc0a252ad Add compile flag to disable compilation of mining code 2017-01-30 21:14:46 +01:00
Jack Grigg
207924a1d5 Remove OpenSSL PRNG reseeding
Per https://download.libsodium.org/doc/generating_random_data/ reseeding the
default libsodium PRNG is not required.
2017-01-23 17:06:54 +01:00
zkbot
0edb3c0f16 Auto merge of #1978 - str4d:1941-scan-whole-chain-on-zkey-import, r=ebfull
Scan the whole chain whenever a z-key is imported

Closes #1941.
2017-01-20 00:02:12 +00:00
zkbot
4458f87138 Auto merge of #2028 - bitcartel:std_numeric_gcc_620_compile_issue, r=ebfull
Add missing header

Closes #2027 where gcc 6.2.0 identified that `rpcwallet.cpp` was missing a header file `<numeric>` which is required due to usage of `std::accumulate`.
2017-01-18 19:45:02 +00:00
Simon
bcbde86a87 Add missing header required by std::accumulate 2017-01-18 10:52:37 -08:00