Commit Graph

313 Commits

Author SHA1 Message Date
Simon f3c4919027 Increase timeout as laptops on battery power have cpu throttling. 2016-12-05 10:46:12 -08: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
Jack Grigg f7478de67f Add thread parameter to solveequihash benchmark
Closes #1147
2016-08-05 15:05:38 +12:00
zkbot abd4c16ae9 Auto merge of #1064 - ThisIsNotOfficialCodeItsJustForks:t915-enable-security-hardening, r=bitcartel
Verify security hardening features are turned on
2016-08-03 23:57:05 +00:00
Taylor Hornby 88325d8abb Add more commands to run unit tests under valgrind. 2016-07-28 14:43:36 -06:00
Taylor Hornby 56734f4b27 Pull in upstream's make check-security, based on upstream PR #6854 and #7424. 2016-07-21 20:45:10 -06:00
Taylor Hornby 1327d1915a Add tests for security hardening features 2016-07-21 20:45:07 -06:00
Taylor Hornby effd7ca1d8 Add checksec.sh from http://www.trapkit.de/tools/checksec.html 2016-07-21 20:45:07 -06:00