Commit Graph
100 Commits
Author SHA1 Message Date
Gavin Andresen 34318d7fad RPC-test based on invalidateblock for mempool coinbase spends 2014-12-08 14:09:58 -08:00
Gavin Andresen 4383319e4e Merge pull request #5432
db0916b Fix missing python2 in rpc-tests (Matt Corallo)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-12-05 20:10:54 -05:00
Gavin Andresen 9e56532959 Coinbases-in-mempool regression test
Immature coinbase spends are allowed in the memory pool if they can be mined in the next block.
They are not allowed in the memory pool if they cannot be mined in the next block.

This regression test tests those edge cases.
2014-12-02 19:07:39 -05:00
Gavin Andresen 1c7e09f0b9 Merge pull request #5369
b2d0162 Test resurrecting memory pool transactions during chain re-org (Gavin Andresen)
3dd8ed7 Delay writing block indexes in invalidate/reconsider (Pieter Wuille)
798faec Add 'invalidateblock' and 'reconsiderblock' RPC commands. (Pieter Wuille)
2014-12-02 11:59:41 -05:00
Gavin Andresen b2d0162ba4 Test resurrecting memory pool transactions during chain re-org
Builds on #5316.
2014-12-02 11:09:25 -05:00
Gavin Andresen fe042dbe9f Merge pull request #5335
7e615f5 Fixed mempool sync after sending a transaction (Suhas Daftuar)
2014-11-24 10:27:37 -05:00
Gavin Andresen 8656dbb095 Port/fix txnmall.sh regression test
Ported txnmall.sh to Python, and updated to match
recent transaction malleability changes.

I also modified it so it tests both double-spending
confirmed and unconfirmed (only-in-mempool) transactions.

Renamed to txn_doublespend, since that is really what is
being tested. And told the pull-tester to run both
variations on this test.
2014-11-19 15:36:10 -05:00
Gavin Andresen 8c41853380 gmp needed to build on OSX 2014-11-19 09:55:51 -05:00
Gavin Andresen fd3777b0b2 Merge pull request #5280
3c30f27 travis: disable rpc tests for windows until they're not so flaky (Cory Fields)
daf03e7 RPC tests: create initial chain with specific timestamps (Gavin Andresen)
a8b2ce5 regression test only setmocktime RPC call (Gavin Andresen)
2014-11-18 14:31:29 -05:00
Gavin Andresen daf03e7c92 RPC tests: create initial chain with specific timestamps
Use setmocktime to create the initial block chain with
10-minute-apart-blocks starting 1 Jan 2014.
2014-11-17 14:13:32 -05:00
Gavin Andresen a8b2ce557d regression test only setmocktime RPC call 2014-11-17 10:33:49 -05:00
Gavin Andresen d6479ffc6a Merge pull request #5275
1837987 Optimize -regtest setgenerate block generation (Gavin Andresen)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-11-17 10:26:12 -05:00
Gavin Andresen 18379875bf Optimize -regtest setgenerate block generation
Speed up generating blocks in regression test mode, by moving
block-creating and nonce-finding directly into the setgenerate
RPC call (instead of starting up a mining thread and waiting for
it to find a block).

This makes the forknotify RPC test three times quicker, for
example (10 seconds runtime instead of 30 seconds, assuming
the initial blockchain cache is already built).
2014-11-14 13:42:15 -05:00
Gavin Andresen c969096070 Merge pull request #5201 from sipa/order
Remove file and class order guidelines
2014-11-03 09:52:47 -05:00
Gavin Andresen 35ece7dd07 Merge pull request #5135
a31e8ba Make CBlockIndex* returned by GetDepthInMainChain const. (Daniel Kraft)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-10-27 13:42:01 -04:00
Gavin Andresen e4f79c0219 Merge pull request #5139
9f87325 Start with tidier cache directories (Gavin Andresen)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-10-27 13:39:25 -04:00
Gavin Andresen 9f87325b22 Start with tidier cache directories
Remove more files from the cached, 200-block-chain data directories.
2014-10-24 15:48:06 -04:00
Gavin Andresen e401a2c557 Merge pull request #5132
2290ed0 Work around #5113. (Daniel Kraft)
dcb9846 Extend getchaintips RPC test. (Daniel Kraft)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-10-24 15:13:41 -04:00
Gavin Andresen 505a9e1dae Merge pull request #5137
ec01243 --tracerpc option for regression tests (Gavin Andresen)
2014-10-24 15:10:53 -04:00
Gavin Andresen 46df9c3b42 Merge pull request #5133 from laanwj/2014_10_regtest_fixed_seeds
Clear vFixedSeeds for regtest network
2014-10-24 13:45:46 -04:00
Gavin Andresen ec01243c14 --tracerpc option for regression tests
Run tests with --tracerpc and all RPC calls will dump to the console.
Very helpful for debugging.
2014-10-24 11:27:22 -04:00
Gavin Andresen 3552d4b859 Merge pull request #5128
3a757c5 fix build with libc++ after 85c579e (Cory Fields)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-10-23 14:37:37 -04:00
Gavin Andresen 3222802ea1 Merge pull request #5059
dbca89b Trigger -alertnotify if network is upgrading without you (Gavin Andresen)
e01a793 Refactor -alertnotify code (Gavin Andresen)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-10-09 10:39:29 -04:00
Gavin Andresen dbca89b74b Trigger -alertnotify if network is upgrading without you
This adds a -regetest-only undocumented (for regression testing only)
command-line option -blockversion=N to set block.nVersion.

Adds to the "has the rest of the network upgraded to a
block.nVersion we don't understand" code so it calls
-alertnotify when 51 of the last 100 blocks are up-version.
But it only alerts once, not with every subsequent new, upversion
block.

And adds a forknotify.py regression test to make sure it works.

Tested using forknotify.py:

Before adding CAlert::Notify, get:
Assertion failed: -alertnotify did not warn of up-version blocks

Before adding code to only alert once:
Assertion failed: -alertnotify excessive warning of up-version blocks

After final code in this pull:
Tests successful
2014-10-09 10:28:27 -04:00
Gavin Andresen e01a7939d3 Refactor -alertnotify code
Refactor common -alertnotify code into static CAlert::Notify method.
2014-10-09 10:25:30 -04:00
Gavin Andresen 4b73b758a3 Merge pull request #5026
dd367ff build: macdeploy: filter out irrelevant qt5 frameworks and dylibs (Cory Fields)
9fedafb build: Fix OSX build when using Homebrew and qt5 (Cory Fields)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-10-02 11:49:13 -04:00
Gavin Andresen 35eaa6b457 Merge pull request #5024 from gavinandresen/osx_sign_fix
Keep symlinks when copying into .app bundle
2014-10-01 18:15:18 -04:00
Gavin Andresen 965c306d6d Keep symlinks when copying into .app bundle
Code signing failed for me on OSX 10.9.5 because the
Versions/Current symbolic links were being replaced
with a duplicate copy of the frameworks' code.

Releases were bigger than they needed to be, for the
same reason.
2014-10-01 09:58:00 -04:00
Gavin Andresen e5836eb692 Merge pull request #5015 from theuni/win64test
tests: fix false-positive under win64
2014-09-30 19:54:08 -04:00
Gavin Andresen 7def85e1b5 Merge pull request #5006 from TheBlueMatt/travis-new-comparisontool
depends: update the comparison tool to a more recent version
2014-09-30 19:53:35 -04:00
Gavin Andresen d65ea7efa3 Merge pull request #4932 from theuni/travis
Travis tweaks
2014-09-16 15:25:00 -04:00
Gavin Andresen 6a830ec947 Merge pull request #4758 from theuni/osx-dmg-codesign-rebase
build: osx: Fix incomplete framework packaging for codesigning
2014-09-12 12:29:37 -04:00
Gavin Andresen aa3c697e90 Store fewer orphan tx by default, add -maxorphantx option
There is no reason to store thousands of orphan transactions;
normally an orphan's parents will either be broadcast or
mined reasonably quickly.

This pull drops the maximum number of orphans from 10,000 down
to 100, and adds a command-line option (-maxorphantx) that is
just like -maxorphanblocks to override the default.
2014-09-10 14:09:40 -04:00
Gavin Andresen c74332c678 Stricter handling of orphan transactions
Prevent denial-of-service attacks by banning
peers that send us invalid orphan transactions
and only storing orphan transactions given to
us by a peer while the peer is connected.
2014-09-10 14:09:40 -04:00
Gavin Andresen def2fdb4b9 Fix crashing bug caused by orphan(s) with duplicate prevout.hash 2014-09-10 16:53:54 +02:00
Gavin Andresen 6ee78938ee Merge pull request #4836 from morcos/fix-make_change
Fix make_change to not create half-satoshis
2014-09-05 10:48:28 -04:00
Gavin Andresen 3a7c3483b6 Fix make_change to not create half-satoshis 2014-09-05 09:33:13 -04:00
Gavin Andresen c53b1ece1b Fix github-merge with git version 2.1.0
Running git version 2.1.0 on OSX (homebrew), I get
  fatal: '1q': not a non-negative integer

I'm guessing git command-line parsing got more strict recently?
2014-08-19 13:47:37 -04:00
Gavin Andresen 335e3a5c95 Merge pull request #4717 from cozz/cozz8
[Qt] Revert overviewpage from QFormLayout to QVBoxLayout
2014-08-19 13:37:25 -04:00
Gavin Andresen 10dcbc1be0 Merge pull request #4728 from laanwj/2014_08_rpcserver_password_delay
Don't reveal whether password is <20 or >20 characters in RPC
2014-08-19 13:32:40 -04:00
Gavin Andresen 4a56345a74 Merge pull request #4522 from dgenr8/set_discover_0
Set -discover=0 in regtest framework
2014-07-15 10:29:18 -04:00
Gavin Andresen f3330b40a5 Merge pull request #4485 from gavinandresen/refactor_python_tests
Refactor common RPC test code to BitcoinTestFramework base class
2014-07-09 11:34:16 -04:00
Gavin Andresen f5a92bf9bd Print better errors, and add util stop_node() function. 2014-07-09 10:19:46 -04:00
Gavin Andresen e8097f7df1 Refactor common RPC test code to BitcoinTestFramework base class
Inspired by #3956, with a little more flexibility built in.

I didn't touch rpcbind_test.py, because it only runs on Linux.
2014-07-09 10:19:26 -04:00
Gavin Andresen ae28a7c72d Merge pull request #4489 from gavinandresen/python_bitcoinrpc_update
Improved bitcoinrpc logging and Decimal support
2014-07-09 10:18:34 -04:00
Gavin Andresen 1b2bc71de1 Improved logging and Decimal support 2014-07-08 14:31:13 -04:00
Gavin Andresen 21876d3831 Merge branch 'smartfee_wallet' 2014-07-03 15:50:24 -04:00
Gavin Andresen 13fc83c77b Move fee policy out of core 2014-07-03 14:42:16 -04:00
Gavin Andresen 4b7b1bb1ac Sanity checks for estimates
Require at least 11 samples before giving fee/priority estimates.

And have wallet-created transactions go throught the fee-sanity-check
code path.
2014-07-03 13:44:56 -04:00
Gavin Andresen b33d1f5ee5 Use fee/priority estimates in wallet CreateTransaction
The wallet now uses the mempool fee estimator with a new
command-line option: -txconfirmtarget (default: 1) instead
of using hard-coded fees or priorities.

A new bitcoind that hasn't seen enough transactions to estimate
will fall back to the old hard-coded minimum priority or
transaction fee.

-paytxfee option overrides -txconfirmtarget.

Relaying and mining code isn't changed.

For Qt, the coin control dialog now uses priority estimates to
label transaction priority (instead of hard-coded constants);
unspent outputs were consistently labeled with a much higher
priority than is justified by the free transactions actually
being accepted into blocks.

I did not implement any GUI for setting -txconfirmtarget; I would
suggest getting rid of the "Pay transaction fee" GUI and replace
it with either "target number of confirmations" or maybe
a "faster confirmation <--> lower fee" slider or select box.
2014-07-03 13:44:33 -04:00
Gavin Andresen f04f123407 Merge pull request #4448 from laanwj/2014_07_qt_payment_rq_logging
qt: Always log warning/error messages to debug.log
2014-07-01 10:25:38 -04:00
Gavin Andresen 8ceb28afc3 Merge pull request #3883 from dgenr8/first_double_spend
Relay and alert user to double spends
2014-06-30 08:35:12 -04:00
Gavin Andresen 6fba25ef26 Merge pull request #4420 from sipa/skiplist
Add a skiplist to the CBlockIndex structure.
2014-06-30 08:21:46 -04:00
Gavin Andresen 6259937388 Merge pull request #4365 from gavinandresen/relax_isstandard
Relax IsStandard rules for pay-to-script-hash transactions
2014-06-27 10:53:24 -04:00
Gavin Andresen a90689ff98 Remove timing-based signature cache unit test
Two changes:

First removes a unit test that fails in my development environment
(OSX, compiled -g3 with clang).

sipa says that's not terribly surprising; the CMutableTransaction change
makes signing a little more expensive but verification quicker. The unit
test timed sign+verify-uncached versus verify-cached-five-times.

He also says the test will be invalid when libsec256kp1 is integrated
(because validation is super-optimized over signing).

core.h change fixes a compiler warning (clang -Wall : CMutableTransaction defined
as struct, declared as class in script.h).
2014-06-25 14:57:21 -04:00
Gavin Andresen 7f3b4e9569 Relax IsStandard rules for pay-to-script-hash transactions
Relax the AreInputsStandard() tests for P2SH transactions --
allow any Script in a P2SH transaction to be relayed/mined,
as long as it has 15 or fewer signature operations.

Rationale: https://gist.github.com/gavinandresen/88be40c141bc67acb247

I don't have an easy way to test this, but the code changes are
straightforward and I've updated the AreInputsStandard unit tests.
2014-06-23 15:09:52 -04:00
Gavin Andresen 6d875669aa Merge pull request #4394 from laanwj/2014_06_rpc_tests_connectnode
qa/rpc_tests: Wait for handshake to complete in connect_nodes
2014-06-23 11:54:27 -04:00
Gavin Andresen 171ca7745e estimatefee / estimatepriority RPC methods
New RPC methods: return an estimate of the fee (or priority) a
transaction needs to be likely to confirm in a given number of
blocks.

Mike Hearn created the first version of this method for estimating fees.
It works as follows:

For transactions that took 1 to N (I picked N=25) blocks to confirm,
keep N buckets with at most 100 entries in each recording the
fees-per-kilobyte paid by those transactions.

(separate buckets are kept for transactions that confirmed because
they are high-priority)

The buckets are filled as blocks are found, and are saved/restored
in a new fee_estiamtes.dat file in the data directory.

A few variations on Mike's initial scheme:

To estimate the fee needed for a transaction to confirm in X buckets,
all of the samples in all of the buckets are used and a median of
all of the data is used to make the estimate. For example, imagine
25 buckets each containing the full 100 entries. Those 2,500 samples
are sorted, and the estimate of the fee needed to confirm in the very
next block is the 50'th-highest-fee-entry in that sorted list; the
estimate of the fee needed to confirm in the next two blocks is the
150'th-highest-fee-entry, etc.

That algorithm has the nice property that estimates of how much fee
you need to pay to get confirmed in block N will always be greater
than or equal to the estimate for block N+1. It would clearly be wrong
to say "pay 11 uBTC and you'll get confirmed in 3 blocks, but pay
12 uBTC and it will take LONGER".

A single block will not contribute more than 10 entries to any one
bucket, so a single miner and a large block cannot overwhelm
the estimates.
2014-06-06 10:44:57 -04:00
Gavin Andresen 0193fb82a6 Allow multiple regression tests to run at once
Choose ports at startup based on PID, so multiple regression tests
can run on the same system at the same time.
2014-06-06 10:34:18 -04:00
Gavin Andresen c6cb21d17a Type-safe CFeeRate class
Use CFeeRate instead of an int64_t for quantities that are
fee-per-size.

Helps prevent unit-conversion mismatches between the wallet,
relaying, and mining code.
2014-06-06 10:34:18 -04:00
Gavin Andresen 4fee61a905 Merge pull request #4287 from laanwj/2014_06_sideeffect
Remove side effect in assertion in ProcessGetData
2014-06-04 20:15:45 -04:00
Gavin Andresen de0cbd1078 Merge pull request #4289 from Diapolo/log_config_file
log used config file to debug.log on startup
2014-06-04 20:13:50 -04:00
Gavin Andresen 21790821da Fix name of Cory's pgp key 2014-05-29 12:51:14 -04:00
Gavin Andresen 00fd4383ac Merge pull request #4251 from theuni/cfields-pgp
gitian: Add cfields to gitian download scripts
2014-05-29 12:42:58 -04:00
Gavin Andresen c47f5379bd Add Tips and Tricks section to README 2014-05-23 10:30:38 -04:00
Gavin Andresen aaab675a78 Merge pull request #3860 from petertodd/test-checkmulti-n-m-zero
Test CHECKMULTISIG with m == 0 and/or n == 0
2014-05-09 10:00:16 -04:00
Gavin Andresen 3e7dac9dad stop bitcoind/bitcoin-cli processes that might have been left running 2014-05-02 12:37:20 -04:00
Gavin Andresen 8556b0298d Merge pull request #3842 from ditto-b/master
Fix for GetBlockValue() after block 13,440,000
2014-04-02 21:31:17 -04:00
Gavin Andresen cb4bdd18a7 Have pull-tester run the listtransactions.py regression test
This should show how to run a python-based regression test
successfully in the pull-tester environment.
2014-04-02 19:59:17 -04:00
Gavin Andresen d138598f63 Fix regression tests
Taught bitcoind to close the HTTP connection after it gets a 'stop' command,
to make it easier for the regression tests to cleanly stop.
Move bitcoinrpc files to correct location.
Tidied up the python-based regression tests.
2014-03-24 19:14:51 +01:00
Gavin Andresen 98f4c6c49c 0.9.0 release notes 2014-03-19 11:18:54 -04:00
Gavin Andresen a78eed26c5 Merge pull request #3868 from gmaxwell/minfeeinfo
Add a "relayfee" field to getinfo.
2014-03-14 12:43:53 -04:00
Gavin Andresen 1e13f57f56 Merge pull request #3849 from cozz/cozz2
Fix missing wallet lock in CWallet::SyncTransaction(..)
2014-03-13 11:43:25 -04:00
Gavin Andresen ca0b8acbf3 Merge pull request #3841 from schildbach/script-tests-OP_0
Add script test to prove that OP_0 evaluates as the empty vector.
2014-03-12 15:12:08 -04:00
Gavin Andresen 1725e6a01f Merge pull request #3808 from paveljanik/master
DOC: Update the list of threads to the current state.
2014-03-12 11:09:08 -04:00
Gavin Andresen 669264c176 Merge branch 'match_relay_fee' of git://github.com/mikehearn/bitcoin 2014-03-11 11:20:07 -04:00
Gavin Andresen 7be6ebcf08 Merge pull request #3744 from petertodd/document-isvalid-is-consensus-critical
Document that CPubKey.IsValid() is consensus critical
2014-02-28 15:27:58 -05:00
Gavin Andresen b69b5d5cd2 Merge pull request #3763 from gavinandresen/regression_tests
Python-based regression tests
2014-02-28 15:27:43 -05:00
Gavin Andresen 356cfe8306 Python-based regression tests
skeleton.py : a do-nothing test skeleton
listtransactions.py : start of regression test for listtransactions call
2014-02-28 15:24:31 -05:00
Gavin Andresen 260cf5c0a4 Squashed 'qa/rpc-tests/python-bitcoinrpc/' content from commit e484743
git-subtree-dir: qa/rpc-tests/python-bitcoinrpc
git-subtree-split: e48474322de165212c5aa29574297e78b09df8d6
2014-02-28 15:23:50 -05:00
Gavin Andresen 829f822267 Merge pull request #3767 from laanwj/2014_02_tinyformat_errors_non_fatal
Make tinyformat errors raise an exception instead of assert()ing
2014-02-28 15:17:28 -05:00
Gavin Andresen f60e49d49c Merge pull request #3694 from gavinandresen/vfspent
Remove CWalletTx::vfSpent
2014-02-28 15:16:25 -05:00
Gavin Andresen 68c97fe110 Merge pull request #3750 from gavinandresen/osx_minversion
Require OSX 10.6, 64-bit
2014-02-28 15:13:16 -05:00
Gavin Andresen afe2a203ed Merge pull request #3760 from ian-kelling/master
Update build instructions for db4.8 on Debian and Unix
2014-02-27 09:49:50 -05:00
Gavin Andresen ae7e5d7ceb Merge pull request #3737 from jgarzik/op-return-size
script: reduce OP_RETURN standard relay bytes to 40
2014-02-26 13:52:56 -05:00
Gavin Andresen e3e65d29b7 Merge pull request #3735 from laanwj/2014_02_remove_PRIx64_completely
Remove PRIx64 usage completely
2014-02-26 12:16:03 -05:00
Gavin Andresen 93a18a3650 Remove CWalletTx::vfSpent
Use the spent outpoint multimap to figure out which wallet transaction
outputs are unspent, instead of a vfSpent array that is saved
to disk.
2014-02-26 11:53:51 -05:00
Gavin Andresen 26e4b52712 Require OSX 10.6, 64-bit
Drop support for 32-bit or pre-10.6 Macs.

Also, some of the OSX build docs hadn't been updated since the
autotools change.
2014-02-25 21:36:31 -05:00
Gavin Andresen 34b9ea7db1 Merge pull request #3742 from laanwj/2014_02_win32_protobuf_determinism
gitian: Make protobuf win32 intermediate output deterministic
2014-02-25 11:34:45 -05:00
Gavin Andresen a16ad1c0f4 Merge pull request #3704 from gavinandresen/wallet_lock_fixes
Wallet locking fixes for -DDEBUG_LOCKORDER
2014-02-24 14:39:23 -05:00
Gavin Andresen 05619d7290 Merge pull request #3700 from gavinandresen/backuptest
Test for walletbackup/walletdump RPC calls
2014-02-24 12:59:38 -05:00
Gavin Andresen 41dcf61504 Test for walletbackup/walletdump RPC calls 2014-02-24 12:58:40 -05:00
Gavin Andresen ca4cf5cff6 Wallet locking fixes for -DDEBUG_LOCKORDER
Compiling with -DDEBUG_LOCKORDER and running the qa/rpc-test/ regression
tests uncovered a couple of wallet methods that should (but didn't)
acquire the cs_wallet mutext.

I also changed the AssertLockHeld() routine print to stderr and
abort, instead of printing to debug.log and then assert()'ing.
It is annoying to look in debug.log to find out which
AssertLockHeld is failing.
2014-02-18 12:11:46 -05:00
Gavin Andresen b25d1c0509 Merge pull request #3679 from laanwj/2014_02_walletpassphrase_behavior
Document new `walletpassphrase` behavior in 0.9
2014-02-17 12:11:13 -05:00
Gavin Andresen e7d854c8ba Merge pull request #3690 from laanwj/2014_02_gettransaction_serialize_only_tx
Serialize only CTransaction data in gettransaction RPC hex
2014-02-17 10:18:34 -05:00
Gavin Andresen 085c62149a Merge pull request #3671 from gavinandresen/txn_conflicts
Report transaction conflicts, and tentative account balance fix
2014-02-15 08:56:55 -05:00
Gavin Andresen 731b89b8b5 Track and report wallet transaction clones
Adds a "walletconflicts" array to transaction info; if
a wallet transaction is mutated, the alternate transaction id
or ids are reported there (usually the array will be empty).

Metadata from the original transaction is copied to the mutant,
so the transaction time and "from" account of the mutant are
reported correctly.
2014-02-14 18:13:42 -05:00
Gavin Andresen 05d3ded072 Merge pull request #3669 from gavinandresen/dead_txns
Handle "conflicted" transactions properly
2014-02-14 14:40:32 -05:00
Gavin Andresen 2b72d46f42 Handle "conflicted" transactions properly
Extend CMerkleTx::GetDepthInMainChain with the concept of
a "conflicted" transaction-- a transaction generated by the wallet
that is not in the main chain or in the mempool, and, therefore,
will likely never be confirmed.

GetDepthInMainChain() now returns -1 for conflicted transactions
(0 for unconfirmed-but-in-the-mempool, and >1 for confirmed).

This makes getbalance, getbalance '*', and listunspent all agree when there are
mutated transactions in the wallet.

Before:
 listunspent: one 49BTC output
 getbalance: 96 BTC (change counted twice)
 getbalance '*': 46 BTC (spends counted twice)

After: all agree, 49 BTC available to spend.
2014-02-14 11:08:40 -05:00
Gavin Andresen 8e842cd81d Merge pull request #3667 from gavinandresen/rpctest_osxcompat
Make qa/rpc-tests/ compatible with OSX
2014-02-14 11:03:34 -05:00