Commit Graph
100 Commits
Author SHA1 Message Date
Gavin Andresen abb0e8cced Testing infrastructure: mocktime fixes
New, undocumented-on-purpose -mocktime=timestamp command-line
argument to startup with mocktime set. Needed because
time-related blockchain sanity checks are done on startup, before a
test has a chance to make a setmocktime RPC call.

And changed the setmocktime RPC call so calling it will not result in
currently connected peers being disconnected due to inactivity timeouts.
2017-03-03 11:46:59 -08:00
Gavin Andresen ae1565b52f configure --enable-debug changes
Three changes to how configure --enable-debug behaves:

1. Preserve user-passed CXXFLAGS/CFLAGS
2. Compile with -DDEBUG_LOCKORDER
3. Add -DDEBUG -DDEBUG_LOCKORDER to CPPFLAGS (since they are preprocessor options)
2017-03-03 10:57:19 -08:00
Gavin Andresen fce474c9df Use best header chain timestamps to detect partitioning
The partition checking code was using chainActive timestamps
to detect partitioning; with headers-first syncing, it should use
(and with this pull request, does use) pIndexBestHeader timestamps.

Fixes issue #6251

Github-Pull: #6256
Rebased-From: 65b94545036ae6e38e79e9c7166a3ba1ddb83f66
2015-06-15 10:34:07 +02:00
Gavin Andresen 3c60937ce6 Merge pull request #6146
f501054 More robust CScheduler unit test (Gavin Andresen)
2015-05-16 18:03:26 -04:00
Gavin Andresen f50105486f More robust CScheduler unit test
On a busy or slow system, the CScheduler unit test could fail because it
assumed all threads would be done after a couple of milliseconds.

Replace the hard-coded sleep with CScheduler stop() method that
will cleanly exit the servicing threads when all tasks are completely
finished.
2015-05-16 17:59:23 -04:00
Gavin Andresen 36cba8f118 Alert if it is very likely we are getting a bad chain
Create a monitoring task that counts how many blocks have been found in the last four hours.

If very few or too many have been found, an alert is triggered.

"Very few" and "too many" are set based on a false positive rate of once every fifty years of constant running with constant hashing power, which works out to getting 5 or fewer or 48 or more blocks in four hours (instead of the average of 24).

Only one alert per day is triggered, so if you get disconnected from the network (or are being Sybil'ed) -alertnotify will be triggered after 3.5 hours but you won't get another -alertnotify for 24 hours.

Tested with a new unit test and by running on the main network with -debug=partitioncheck

Run test/test_bitcoin --log_level=message to see the alert messages:
    WARNING: check your network connection, 3 blocks received in the last 4 hours (24 expected)
    WARNING: abnormally high number of blocks generated, 60 blocks received in the last 4 hours (24 expected)

The -debug=partitioncheck debug.log messages look like:
    ThreadPartitionCheck : Found 22 blocks in the last 4 hours
    ThreadPartitionCheck : likelihood: 0.0777702
2015-05-14 14:58:44 -04:00
Gavin Andresen b4c219b622 Merge pull request #5964
9a1dcea Use CScheduler for net's DumpAddresses (Gavin Andresen)
ddd0acd Create a scheduler thread for lightweight tasks (Gavin Andresen)
68d370b CScheduler unit test (Gavin Andresen)
cfefe5b scheduler: fix with boost <= 1.50 (Cory Fields)
ca66717 build: make libboost_chrono mandatory (Cory Fields)
928b950 CScheduler class for lightweight task scheduling (Gavin Andresen)
e656560 [Qt] add defaultConfirmTarget constant to sendcoinsdialog (Philip Kaufmann)
2015-05-14 14:27:07 -04:00
Gavin Andresen 9a1dcea2df Use CScheduler for net's DumpAddresses
Instead of starting Yet Another Thread to dump addresses,
use CScheduler to do it.
2015-05-14 12:50:42 -04:00
Gavin Andresen ddd0acd3db Create a scheduler thread for lightweight tasks 2015-05-14 12:50:41 -04:00
Gavin Andresen 68d370bec4 CScheduler unit test 2015-05-14 12:50:41 -04:00
Gavin Andresen 928b950e3b CScheduler class for lightweight task scheduling
Simple class to manage a task queue that is serviced by one or
more threads.
2015-05-14 10:37:19 -04:00
Gavin Andresen 351f73ecd5 Merge pull request #6125
472b4c5 Clean up parsing of bool command line args (Alex Morcos)
2015-05-13 15:15:33 -04:00
Gavin Andresen d81cff32e5 Replace mruset setAddrKnown with CRollingBloomFilter addrKnown
Use a probabilistic bloom filter to keep track of which addresses
we think we have given our peers, instead of a list.

This uses much less memory, at the cost of sometimes failing to
relay an address to a peer-- worst case if the bloom filter happens
to be as full as it gets, 1-in-1,000.

Measured memory usage of a full mruset setAddrKnown: 650Kbytes
Constant memory usage of CRollingBloomFilter addrKnown: 37Kbytes.

This will also help heap fragmentation, because the 37K of storage
is allocated when a CNode is created (when a connection to a peer
is established) and then there is no per-item-remembered memory
allocation.

I plan on testing by restarting a full node with an empty peers.dat,
running a while with -debug=addrman and -debug=net, and making sure
that the 'addr' message traffic out is reasonable.
(suggestions for better tests welcome)
2015-04-30 08:16:20 -07:00
Gavin Andresen 69a5f8be0a Rolling bloom filter class
For when you need to keep track of the last N items
you've seen, and can tolerate some false-positives.

Rebased-by: Pieter Wuille <pieter.wuille@gmail.com>
2015-04-30 07:58:29 -07:00
Gavin Andresen ad9e86dca1 Keep mempool consistent during block-reorgs
This fixes a subtle bug involving block re-orgs and non-standard transactions.

Start with a block containing a non-standard transaction, and
one or more transactions spending it in the memory pool.

Then re-org away from that block to another chain that does
not contain the non-standard transaction.

Result before this fix: the dependent transactions get stuck
in the mempool without their parent, putting the mempool
in an inconsistent state.

Tested with a new unit test.
2015-03-26 11:58:19 -04:00
Gavin Andresen 0f5954c434 Regression test for ResendWalletTransactions
Adds a regression test for the wallet's ResendWalletTransactions function, which uses a new, hidden RPC command "resendwallettransactions."

I refactored main's Broadcast signal so it is passed the best-block time, which let me remove a global variable shared between main.cpp and the wallet (nTimeBestReceived).

I also manually tested the "rebroadcast unconfirmed every half hour or so" functionality by:

1. Running bitcoind -connect=0.0.0.0:8333
2. Creating a couple of send-to-self transactions
3. Connect to a peer using -addnode
4. Waited a while, monitoring debug.log, until I see:
```2015-03-23 18:48:10 ResendWalletTransactions: rebroadcast 2 unconfirmed transactions```

One last change: don't bother putting ResendWalletTransactions messages in debug.log unless unconfirmed transactions were actually rebroadcast.
2015-03-24 15:29:20 -04:00
Gavin Andresen 69866436be Run unit tests in different orders
Set the BOOST_TEST_RANDOM environment variable, to
run unit tests in different orders for each test in the
test matrix that runs tests.
2015-03-06 12:15:08 -05:00
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