Commit Graph

419 Commits

Author SHA1 Message Date
Jonas Schnelli 897a370c39
[QA] fix possible reorg issue in rawtransaction.py/fundrawtransaction.py RPC test
- added missing mempool sync between block generations
2017-03-02 13:23:03 -08:00
Jonas Schnelli 81eb80d841
[REST] add JSON support for /rest/headers/ 2017-03-02 13:23:03 -08:00
mruddy 81ae51c883
add tests for the decodescript rpc. add mention of the rpc regression tests to the testing seciton of the main readme. 2017-03-02 13:23:03 -08:00
Wladimir J. van der Laan bf890b6518
test: Move reindex test to standard tests
This test finishes very quickly, so it should be part of the default set
of tests in rpc-tests.
2017-03-02 13:23:03 -08:00
Jonas Schnelli 788d8e6a6f
fundrawtransaction tests 2017-03-02 13:23:03 -08:00
Jonas Schnelli 2ab237a088
add RPC tests for setban & disconnectnode 2017-03-02 13:23:03 -08:00
Jonas Schnelli e521939942
[RPC] extend setban to allow subnets 2017-03-02 13:23:03 -08:00
Jonas Schnelli 962ec4b5e4
[QA] add setban/listbanned/clearbanned tests 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 6ee75b3b7b Auto merge of #2014 - arcalinea:test-prioritisetransaction, r=arcalinea
Test prioritisetransaction

After talking with @str4d about #1884 , I wrote a test for prioritisetransaction. It uses small blocks (11kb), and checks whether a transaction makes it into the next block after being prioritized by that node.

Should this be improved with a larger number of txs in the mempool, or by testing over multiple runs?

As for getblocktemplate(), it seems to return the prioritized transaction within the block size set by the node (about 50 txs fit in an 11kb block), but the block "sizelimit" it displays is set at 2 MB in `rpcmining.cpp` line 690:
```
result.push_back(Pair("sizelimit", (int64_t)MAX_BLOCK_SIZE));
```

This was quite confusing, I didn't think the `-blockmaxsize` parameter I was setting was working for awhile.
2017-03-02 06:47:04 +00:00
Simon 85c9ecb846 Part of #1969. Update tests to avoid error 'absurdly high fee' from change in min fee calc. 2017-02-28 11:44:51 -08:00
Simon ebe750a882 Part of #1969. Changing min fee calculation also changes the dust threshold. 2017-02-28 11:44:07 -08:00
Jay Graber 8d2dac6e3f Inc num of txs in test mempool 2017-02-27 14:11:09 -08:00
Jay Graber cc64e2ccc8 Add rpc test for prioritisetransaction 2017-02-12 11:01:45 -08:00
Simon 238fec642d Update test to check for updated error messages in AmountFromValue(). 2017-02-09 23:32:15 -08:00
zkbot 7d4ced95ed Auto merge of #2056 - str4d:2035-experimental-mode, r=bitcartel
Add a flag for enabling experimental features

Closes #2035.
2017-02-09 23:39:02 +00:00
zkbot d32511c72c Auto merge of #2054 - str4d:2030-decoderawtransaction-joinsplit-fields, r=bitcartel
Show all JoinSplit components in getrawtransaction and decoderawtransaction

Closes #2030.
2017-02-09 22:56:01 +00:00
Simon 91270dcfbc Update test to check for more joinsplit related fields in getrawtransaction 2017-02-09 14:48:58 -08:00
Jack Grigg b8eb37757b
Require -experimentalmode for wallet encryption 2017-02-09 22:10:58 +00:00
zkbot 253c610783 Auto merge of #2050 - str4d:2020-zmq, r=bitcartel
Add ZeroMQ notifications

Cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#6103
- bitcoin/bitcoin#6684
- bitcoin/bitcoin#6686
- bitcoin/bitcoin#6736
- bitcoin/bitcoin#6739
- bitcoin/bitcoin#6743
- bitcoin/bitcoin#6768
- bitcoin/bitcoin#6779
- bitcoin/bitcoin#6810
- bitcoin/bitcoin#6927
- bitcoin/bitcoin#6980 (only upgrading zeromq)
- bitcoin/bitcoin#6680
- bitcoin/bitcoin#7058
- bitcoin/bitcoin#7621
- bitcoin/bitcoin#7335 (only parts affecting `zmq_test.py`)
- bitcoin/bitcoin#7853 (only parts affecting `zmq_test.py`)
- bitcoin/bitcoin#7762
- bitcoin/bitcoin#7993 (only upgrading zeromq)
- bitcoin/bitcoin#8238
- bitcoin/bitcoin#8701
- bitcoin/bitcoin#6685

Closes #2020.
2017-02-09 20:08:15 +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
Jack Grigg 8db0dd93e4
Add test to check for presence of vpub_old & vpub_new in getrawtransaction 2017-02-09 16:38:01 +00:00
Jonas Schnelli 9bbc220641
fix rpc-tests.sh
`${testScripts[@]}` now does split up `testscript --agument` in two elements pushed to the array (`testscript` and `--agument`).
2017-02-09 11:53:51 +00:00
Simon 75bb764bb8 Add test for z_sendmany with fee of 0 2017-02-08 15:26:33 -08:00
Jonas Schnelli 3ba2e19e2b
[ZMQ] append a message sequence number to every ZMQ notification 2017-02-08 22:11:53 +00:00
Jack Grigg c7cb3c13ea
[qa] py2: Unfiddle strings into bytes explicitly in ZMQ RPC test
Extracted from bitcoin/bitcoin#7853
commit faa41ee204124da19dcf1e5b8a3aef1e216bf5e6
2017-02-08 22:11:53 +00:00
Jack Grigg a9445db62f
Fix python syntax in ZMQ RPC test
Extracted from bitcoin/bitcoin#7335
commit 7777994846cdb9b9cf69e391a33eeed30393bbcf
2017-02-08 22:11:53 +00:00
Cory Fields 5088de4bb8
travis: install a recent libzmq and pyzmq for tests 2017-02-08 22:10:42 +00:00
Jonas Schnelli 5c7f84cf26
[travis] add zmq python module 2017-02-08 22:10:42 +00:00
Jonas Schnelli da0e7aa1d7
QA: Add ZeroMQ RPC test 2017-02-08 22:10:42 +00:00
Cory Fields cce7754eb8
Depends: Add ZeroMQ package 2017-02-08 22:10:42 +00:00
Simon aa0ab69a15 Closes #2024 by documenting and testing method field in z_getoperationstatus 2017-02-06 14:53:56 -08:00
Simon a45d2ec79c Update test to verify order of zrpcunsafe log messages 2017-02-01 14:41:35 -08:00
Simon a1477f6fac Add test to verify z_sendmany logging 2017-02-01 11:02:03 -08: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
Sean Bowe 620c0e2845 Add test for z_importkey rescanning from beginning of chain. 2017-01-19 16:59:29 -07:00
zkbot 78674ca79e Auto merge of #2007 - bitcartel:1097_copyright_notice_and_date, r=bitcartel
Closes #1097 so that zcash-cli displays license info like zcashd.

LicenseInfo is refactored from init.cpp to util.cpp so that the
bitcoin-cli makefile target does not need to be modified.
2017-01-19 00:56:47 +00:00
Simon 774489569a Increase timeout for z_sendmany transaction in wallet.py qa test 2017-01-18 16:54:39 -08:00
zkbot 63e0e895a5 Auto merge of #2006 - bitcartel:1497_destination_path_validation_when_exporting, r=bitcartel
Fixes #1497 ZCA-009 by restricting export to a user defined folder and sanitizing filenames
2017-01-18 18:19:50 +00:00
Simon bab89e35c7 Update walletbackup.py qa test to use -exportdir option 2017-01-18 10:05:49 -08:00
Jack Grigg 9847bc870d
Create empty zcash.conf during coverage checks
Fixes regression caused by #2013.
2017-01-18 12:11:50 +01: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
Jack Grigg 336fa63020
Create empty zcash.conf during performance measurements 2017-01-17 13:19:49 +01:00
Simon 8aa7937d44 Fixes #1960: z_getoperationstatus/result now includes operation details. 2017-01-16 16:45:27 -08:00
Jack Grigg 4082dcb10f
Extend createjoinsplit to benchmark parallel JoinSplits
Closes #1940
2016-12-14 15:28:00 +13:00
zkbot 02bb4df58d Auto merge of #1918 - bitcartel:timeout_cpu_throttling, r=str4d
Increase timeout as laptops on battery power have cpu throttling.

Merge this last as other PRs also update the test file `wallet_protectcoinbase.py`.
2016-12-09 09:03:37 +00:00
zkbot 0617e428e2 Auto merge of #1895 - bitcartel:1857_tx_priority, r=str4d
Closes #1857. Fixes bug where a transaction sending from a zaddr would have a priority of zero.

Transactions sent from a zaddr should now be mined sooner as they no longer have a priority of zero
2016-12-09 08:10:21 +00: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
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 f3c4919027 Increase timeout as laptops on battery power have cpu throttling. 2016-12-05 10:46:12 -08: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
Simon 520ced1405 Closes #1857. Fixes bug where tx spending only notes had priority of 0. 2016-11-28 22:54:49 -08: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 9ddb6ad028 Mempool will accept tx with joinsplits and the default z_sendmany fee.
Issue #1851 shows that a zaddr->taddr can be rejected from mempools
due to not meeting fee requirements given the size of the transaction.
Fee calculation for joinsplit txs has not yet been agreed upon, so
during this interim period, this patch ensures  joinsplit txs using
the default fee are not rejected due to an insufficient fee.
2016-11-15 11:32:59 -08:00
zkbot 4e72614fb0 Auto merge of #1847 - bitcartel:1680_rpckeepalive_deadlock, r=ebfull
Closes #1680, temporary fix for rpc deadlock inherited from upstream.
2016-11-15 10:25:24 +00:00
Simon f4404d7b5b Closes #1680, temporary fix for rpc deadlock inherited from upstream. 2016-11-15 00:31:24 -08: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
Simon 3920292b43 Add transaction size and zaddr output limit checks to z_sendmany. 2016-11-07 09:29:56 -08: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 52676958d1 Test that a pure joinsplit will mine if other transactions are in the mempool. 2016-11-02 14:25:07 -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
Simon db026807b8 Add z_sendmany rule that when sending coinbase utxos to a zaddr
they must be consumed entirely, without any change, since there
is currently no way to specify a change address in z_sendmany.
2016-10-24 21:34:16 -07:00
Jack Grigg dfe29d5988
Disable metrics screen in performance-measurements.sh 2016-10-23 20:41:18 -05:00
zkbot a294b26db7 Auto merge of #1375 - str4d:1331-node-metrics, r=daira
Add node metrics screen

Continuation of #1336
Closes #1331
2016-10-22 20:21:11 -04:00
Daira Hopwood 02a4ace02c Disable metrics screen in RPC tests
Author: Jack Grigg <jack@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-23 01:05:57 +01:00
zkbot 026c3f784f Auto merge of #1602 - str4d:1424-minimal-getblocktemplate, r=daira
Minimal modifications to getblocktemplate

A simpler alternative to #1435 that ensures Zcash GBT will remain compatible with BIP 22.

Closes #1424
2016-10-22 16:40:59 -04:00
Jack Grigg bc54cf06cc
Fix RPC test 2016-10-22 15:36:38 -05:00
Jack Grigg 07064ea2d1
GBT: Add RPC tests 2016-10-21 23:38:37 -05:00
Jack Grigg 1628efedaf
GBT: Correct block header in proposals RPC test 2016-10-21 23:36:35 -05:00
zkbot 48888b67c9 Auto merge of #1599 - daira:1597.fix-other-potential-race-conditions, r=daira
Fix other potential race conditions similar to ref #1597 in RPC tests.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-22 00:15:32 -04:00
zkbot 71043784dd Auto merge of #1586 - bitcartel:z_sendmany_amount_too_strict, r=daira
Fix issue where z_sendmany amount parameter is too strict

Upstream treats an amount parameter of `1` the same as `1.0`.  Third-party would like this fixed.
2016-10-21 22:10:41 -04:00
zkbot 10ad093bbb Auto merge of #1567 - str4d:rename-binaries, r=daira
Rename binaries

This ensures that our installs don't clash with existing Bitcoin binaries and libraries.

Closes #1563 and #1565
2016-10-21 20:48:11 -04:00
Daira Hopwood deba66ca55 Fix other potential race conditions similar to ref #1597 in RPC tests.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-22 00:37:14 +01:00
Daira Hopwood f0f838f081 Fix race condition in rpc-tests/wallet_protectcoinbase.py. closes #1597
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-21 17:20:36 +01:00
Daira Hopwood 5d985da5c1 Repair check-security-hardening.sh.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-21 02:34:13 +01:00
Simon 5eed758493 Update test to use integer amount as well as decimal amount when calling z_sendmany 2016-10-20 17:10:25 -07:00
Jack Grigg 2b499f4386
Fix RPC tests that require wallet encryption 2016-10-20 14:35:41 -05:00
zkbot ec8dc3a88a Auto merge of #1431 - bitcartel:master_1373_taddr_coinbase_error, r=bitcartel
Return a more informative error message when trying to spend coinbase; select non-coinbase inputs when sending to a transparent output if needed

For #1373 and #1519

Code change:
- Extra parameter added to AvailableCoins to include or exclude Coinbase coins.  Default value of parameter is 'true' as current behaviour is to include Coinbase coins.
- SelectCoins, used for sending taddr->taddr, will now exclude Coinbase coins.

Unit test:
Tried to write a test to focus on the extra parameter added to AvailableCoins but could not.

Empirical testing on Testnet:
Current behaviour is that upstream RPC commands sendfrom and sendtoaddress try to spend coinbase coins returned by AvailableCoins.  So the user will see:

```
./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 1000.0
error: {"code":-6,"message":"Insufficient funds"}

./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 0.00003000
error: {"code":-4,"message":"Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."}

./zcash-cli sendfrom "" mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 0.00003000
error: {"code":-4,"message":"Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."}
```

After fix is applied:

```
./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 1000.0
error: {"code":-6,"message":"Insufficient funds"}

./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 0.00003000
error: {"code":-4,"message":"Coinbase funds can only be sent to a zaddr"}
```

When non-coinbase UTXOs exist, they will now be selected and used:

```
./zcash-cli z_sendmany tnPJZHeVxegCg91utaquBRPEDBGjozfz9iLDHt7zvphFbZdspNgkTVLCGjDcadQBKNyUwKs8pNjDXuEZKrE1aNLpFwHgz4t '[{"address":"mx5fTRhLZwbYE7ZqhAPueZgQGSnwTbdvKU", "amount":0.01}]'

./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 1000.0
error: {"code":-6,"message":"Insufficient funds"}

./zcash-cli sendtoaddress mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 0.00003000
9818e543ac2f689d4ce8b52087607d73fecd771d45d316a1d9db092f0485aff2

./zcash-cli sendfrom "" mrEGRmGJhmwAa4MQjzGd86ry63vrvovu9b 0.00003000
899f2894823f51f15fc73b5e0871ac943edbe0ff88e1635f86906087b72caf30
```
2016-10-16 22:08:07 -04:00
Simon 2b1cda3b6a Return improved error message when trying to spend Coinbase coins (#1373).
Extra parameter added to AvailableCoins to include or exclude Coinbase coins.
SelectCoins, used for sending taddr->taddr, will exclude Coinbase coins.

Added qa rpc test and a runtime parameter -regtestprotectcoinbase to enforce
the coinbase->zaddr consensus rule in regtest mode.
2016-10-16 19:05:56 -07:00
Jack Grigg ddea44a27e
Update comments 2016-10-14 17:16:09 -05:00
Jack Grigg 1a62587e9a
Delay caching of nullifiers when wallet is locked
Closes #1502
2016-10-14 17:16:09 -05:00
Jack Grigg 8f445ee774
Break the RPC test by encrypting the mirroring wallet 2016-10-14 17:14:13 -05:00
Jack Grigg 52fdce985f
Add RPC test showing correct handling of JS txns from blockchain
For unencrypted wallets, the wallet correctly tracks JoinSplits made for their
zkey in a different wallet.
2016-10-14 17:14:13 -05:00
zkbot 7dc49cbc6a Auto merge of #1490 - str4d:1454-deprecate-accounts, r=bitcartel
Throw an RPC error for all accounts except the default

Closes #1454
2016-10-10 23:55:02 -04:00
Daira Hopwood 3040239e2a Cosmetics in RPC tests.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-10 20:27:16 +01:00
Daira Hopwood 218ded68f3 Fix RPC tests to not rely on accounts.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-10 20:26:52 +01:00
Simon f7cfb52d3c Add vjoinsplit to JSON output of RPC call gettransaction 2016-10-06 19:53:46 -07:00
Daira Hopwood db5dd18c16 Repair rpc-tests/signrawtransactions.py.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-04 23:04:19 +01:00
Jack Grigg f92f004714 Fix zkey test 2016-10-04 11:05:57 -07:00
zkbot 4f49d32a28 Auto merge of #1427 - bitcartel:master_1345_getbalance, r=bitcartel
Fixes #1345 so that RPC getbalance star calculates balance of UTXOs correctly.
2016-10-04 01:20:12 -04:00
Simon 86cf60b5c8 Fixes #1345 so that UTXO debit and credits are computed correctly for a transaction. 2016-10-03 11:06:43 -07:00
Daira Hopwood 65b502aa98 Benchmark 50 iterations of solveequihash
Since the parameters changed in z8, the benchmark on speed.z.cash is showing misleading results due to variability. (The quartile and extrema bars will still show the variability with 50 runs, they just won't jump around as much between benchmark data points.)
2016-09-19 19:08:24 +01:00
Jack Grigg 5be6abbf84 Store the Equihash solution in minimal representation in the block header
The genesis blocks and miner tests have been regenerated, because changing the
block header serialisation format changes the block hash, and thus validity.

The Equihash solutions have been removed from the bloom test inputs for
simplicity (block validity is not checked there; only a valid serialisation is
necessary).
2016-08-16 16:02:39 +12:00
Jack Grigg 649be423f8 Fix previous commit 2016-08-06 02:03:08 +12:00
Jack Grigg 6609813753 Simplify optional parameters 2016-08-06 00:36:33 +12:00