Commit graph

7131 commits

Author SHA1 Message Date
Alexander Regueiro 41dbc4849e Removed call to TryCreateDirectory from GetDefaultDataDir in src/util.cpp.
See https://github.com/bitcoin/bitcoin/issues/7845#issuecomment-207684728.
Also refactored `GetDefaultDataDir` function to return path for Mac in one expression.
2016-04-13 00:11:47 +01:00
Pieter Wuille 514993554c
Merge #7828: Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage()
bf477bc Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage() (Jorge Timón)
2016-04-12 15:51:16 +02:00
Suhas Daftuar 7e91f632c7 Use txid as key in mapAlreadyAskedFor
Previously we used the CInv that would be sent to the peer announcing the
transaction as the key, but using the txid instead allows us to decouple the
p2p layer from the application logic (which relies on this map to avoid
duplicate tx requests).
2016-04-11 15:58:01 -04:00
Gregory Maxwell 66b07247a7 Only send one GetAddr response per connection.
This conserves resources from abusive peers that just send
 getaddr in a loop. Also makes correlating addr messages
 against INVs less effective.
2016-04-11 01:09:34 +00:00
MarcoFalke faa41ee204 [qa] py2: Unfiddle strings into bytes explicitly 2016-04-10 20:35:57 +02:00
Pieter Wuille 5eeb913d6c Clean up lockorder data of destroyed mutexes
The lockorder potential deadlock detection works by remembering for each
lock A that is acquired while holding another B the pair (A,B), and
triggering a warning when (B,A) already exists in the table.

A and B in the above text are represented by pointers to the CCriticalSection
object that is acquired. This does mean however that we need to clean up the
table entries that refer to any critical section which is destroyed, as it
memory address can potentially be used for another unrelated lock in the future.

Implement this clean up by remembering not only the pairs in forward direction,
but also backward direction. This allows for fast iteration over all pairs that
use a deleted CCriticalSection in either the first or the second position.
2016-04-10 14:27:10 +02:00
MarcoFalke facf5a4947 [amount] tests: Fix off-by-one mistake 2016-04-09 15:28:22 +02:00
Wladimir J. van der Laan 065c6b443f
Merge #7786: Doc: Update isStandardTx comment
03c77fd Doc: Update isStandardTx comment (Matthew English)
2016-04-09 12:13:21 +02:00
Pavel Janík 62a6486058 RPC: do not print ping info in getpeerinfo when no ping received yet, fix help 2016-04-09 09:51:57 +02:00
Wladimir J. van der Laan 4521f005a1 tests: add varints_bitpatterns test
The current tests for varint only check that
serialization-deserialization is a roundtrip. That is a useful test, but
it is also good to check for some exact bit patterns, to prevent a code
change that changes the serialization format from going undetected.

As the varint functions are templated, also check with different types.
2016-04-09 09:17:51 +02:00
Matthew English 03c77fdc14 Doc: Update isStandardTx comment 2016-04-08 23:22:39 +02:00
MarcoFalke fa2da2cb60 [amount] Add support for negative fee rates
Currently negative fee rates are not supported on archs of 64-bit or
more
2016-04-08 19:59:53 +02:00
MarcoFalke 11114a69c8 [amount] test negative fee rates and full constructor 2016-04-08 19:59:44 +02:00
Wladimir J. van der Laan 0afac87e81
Merge #7835: Version 2 transactions remain non-standard until CSV activates
da5fdbb Test relay of version 2 transactions (Suhas Daftuar)
5cb1d8a Tests: move get_bip9_status to util.py (Suhas Daftuar)
e4ba9f6 Version 2 transactions remain non-standard until CSV activates (Suhas Daftuar)
2016-04-08 14:17:54 +02:00
Wladimir J. van der Laan 232592a71f
Merge #7570: Net: Add IPv6 Link-Local Address Support
eda3d92 Net: Add IPv6 Link-Local Address Support (mruddy)
2016-04-08 14:12:54 +02:00
Suhas Daftuar e4ba9f6b04 Version 2 transactions remain non-standard until CSV activates
Before activation, such transactions might not be mined, so don't
allow into the mempool.
2016-04-07 14:33:08 -04:00
instagibbs f8536a62c3 Corrected values 2016-04-07 10:14:49 -04:00
instagibbs 617deeb06e Gave miner test values constants for less error-prone values. 2016-04-07 10:14:44 -04:00
Wladimir J. van der Laan 62b9a557fc Reduce block timeout to 10 minutes
Now that #7804 fixed the timeout handling, reduce the block timeout from
20 minutes to 10 minutes. 20 minutes is overkill.
2016-04-07 13:22:27 +02:00
Wladimir J. van der Laan 1ddf0cee67
Merge #7804: Track block download times per individual block
0e24bbf Self check after the last peer is removed (Pieter Wuille)
2d1d658 Track block download times per individual block (Pieter Wuille)
2016-04-07 13:07:11 +02:00
Pieter Wuille 0e24bbf679 Self check after the last peer is removed 2016-04-07 12:13:10 +02:00
Pieter Wuille 2d1d6581ec Track block download times per individual block
Currently, we're keeping a timeout for each requested block, starting
from when it is requested, with a correction factor for the number of
blocks in the queue.

That's unnecessarily complicated and inaccurate.

As peers process block requests in order, we can make the timeout for each
block start counting only when all previous ones have been received, and
have a correction based on the number of peers, rather than the total number
of blocks.
2016-04-07 12:13:10 +02:00
Jorge Timón bf477bcc79 Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage() 2016-04-06 16:00:25 +02:00
Jonas Schnelli 9f7336b457
[Wallet] slightly refactor GetOldestKeyPoolTime() 2016-04-06 11:06:25 +02:00
Jonas Schnelli 4f7c959af1
Refactor IsRBFOptIn, avoid exception 2016-04-06 10:59:03 +02:00
Wladimir J. van der Laan 07398e8e9d init: allow shutdown during 'Activating best chain...'
Two-line patch to make it possible to shut down bitcoind cleanly during
the initial ActivateBestChain.

Fixes #6459 (among other complaints).

To reproduce:

- shutdown bitcoind
- copy chainstate
- start bitcoind
- let the chain sync a bit
- shutdown bitcoind
- copy back old chainstate
- start bitcoind
- bitcoind will catch up with all blocks during Init()

(the `boost::this_thread::interruption_point` / `ShutdownRequested()`
dance is ugly, this should be refactored all over bitcoind at some point
when moving from boost::threads to c++11 threads, but it works...)
2016-04-06 10:33:19 +02:00
mruddy eda3d92489 Net: Add IPv6 Link-Local Address Support 2016-04-05 22:26:38 +00:00
Wladimir J. van der Laan 1b2460bd58
Merge #7793: [doxygen] Fix member comments
fada0c4 [doc] Fix doxygen comments for members (MarcoFalke)
2016-04-05 17:49:47 +02:00
Wladimir J. van der Laan 4dc1b3a296
Merge #7788: Use relative paths instead of absolute paths in protoc calls
0087f26 Use relative paths instead of absolute paths (Pavel Janík)
2016-04-05 17:38:41 +02:00
Pieter Wuille dde46d3ae1 Merge script_valid and script_invalid tests 2016-04-05 16:11:47 +02:00
Pieter Wuille 009b503792 Get rid of expect in script_tests as it's implied by scripterror 2016-04-05 15:50:17 +02:00
Pieter Wuille 76da761351 Make script_error a mandatory 4th field for script_tests 2016-04-05 15:46:16 +02:00
Pieter Wuille 269281b7cc Fix some misconstructed tests
They claimed to be testing P2SH scripts with non-push scriptSigs, but
1) they were not enabling P2SH
2) they have push-only scriptSigs

Fix this, and add a few more related cases.
2016-04-05 14:54:37 +02:00
Pieter Wuille d03e46625a Fix formatting of NOPs for generated script tests 2016-04-05 14:54:37 +02:00
Pieter Wuille c7c664191f Fix JSON pretty printing in script_tests 2016-04-05 14:54:33 +02:00
mruddy 92107d574d RPC: add versionHex in getblock and getblockheader JSON results; expand data in getblockchaininfo bip9_softforks field. 2016-04-04 22:21:00 +00:00
Pavel Janík 0087f26848 Use relative paths instead of absolute paths 2016-04-04 19:56:59 +02:00
Jonas Schnelli a9149688f8
Merge #7707: [RPC][QT] UI support for abandoned transactions
8efed3b [Qt] Support for abandoned/abandoning transactions (Jonas Schnelli)
2016-04-04 09:58:33 +02:00
Jonas Schnelli 8efed3bc93
[Qt] Support for abandoned/abandoning transactions 2016-04-04 09:25:34 +02:00
mruddy 60361ca481 RPC: fix generatetoaddress failing to parse address and add unit test 2016-04-03 14:30:00 +00:00
MarcoFalke fada0c422c [doc] Fix doxygen comments for members 2016-04-03 11:58:01 +02:00
MarcoFalke fabbf80f2f [ui] Move InitError, InitWarning, AmountErrMsg 2016-04-02 15:26:21 +02:00
Wladimir J. van der Laan 30c2dd8d05
Merge #7691: [Wallet] refactor wallet/init interaction
25340b7 [Wallet] refactor wallet/init interaction (Jonas Schnelli)
2016-04-02 11:07:39 +02:00
paveljanik a22bde9449 Fix typo: Optimizaton -> Optimization 2016-04-01 21:31:48 +02:00
Jonas Schnelli 6383268893
Merge #7772: Clear the input line after activating autocomplete
ae2156f Clear the input line after activating autocomplete (Pavel Janík)
2016-03-31 14:14:04 +02:00
Wladimir J. van der Laan 3081fb9a31
Merge #7763: Put hex-encoded version in UpdateTip
eff736e Reformat version in UpdateTip and other messages (Pieter Wuille)
2016-03-31 13:24:50 +02:00
Pieter Wuille eff736e55e Reformat version in UpdateTip and other messages
Also remove the hardly-readable nBits from UpdateTip's log message.
2016-03-31 12:28:34 +02:00
Wladimir J. van der Laan 16555b658f
Merge #7766: rpc: Register calls where they are defined
fb8a8cf rpc: Register calls where they are defined (Wladimir J. van der Laan)
2016-03-31 10:55:15 +02:00
Wladimir J. van der Laan fb8a8cf2e6 rpc: Register calls where they are defined
Split out methods to every module, apart from 'help' and 'stop' which
are implemented in rpcserver.cpp itself.

- This makes it easier to add or remove RPC commands - no longer everything that includes
    rpcserver.h has to be rebuilt when there's a change there.
- Cleans up `rpc/server.h` by getting rid of the huge cluttered list of function definitions.
- Removes most of the bitcoin-specific code from rpcserver.cpp and .h.

Continues #7307 for the non-wallet.
2016-03-31 10:48:32 +02:00
Pavel Janík ae2156f123 Clear the input line after activating autocomplete 2016-03-30 20:26:10 +02:00
Wladimir J. van der Laan e8a8f3d4b2
Merge #7648: BIP9 versionbits softfork for BIP68, BIP112 and BIP113
71527a0 Test of BIP9 fork activation of mtp, csv, sequence_lock (NicolasDorier)
19d73d5 Add RPC test for BIP 68/112/113 soft fork. (Alex Morcos)
12c89c9 Policy: allow transaction version 2 relay policy. (BtcDrak)
02c2435 Soft fork logic for BIP68 (BtcDrak)
478fba6 Soft fork logic for BIP113 (BtcDrak)
65751a3 Add CHECKSEQUENCEVERIFY softfork through BIP9 (Pieter Wuille)
2016-03-30 18:59:39 +02:00
Wladimir J. van der Laan 60db51dcb2
Merge #7761: [Qt] remove trailing output-index from transaction-id
7d5e31a [Qt] remove trailing output-index from transaction-id (Jonas Schnelli)
2016-03-30 15:44:43 +02:00
Wladimir J. van der Laan 352fd57729
Merge #7573: P2P: add maxtimeadjustment command line option
e1523ce P2P: add maxtimeadjustment command line option (mruddy)
2016-03-30 09:31:51 +02:00
Wladimir J. van der Laan 5131005e5b
Merge #7723: build: python 3 compatibility
18f05c7 build: python 3 compatibility (Wladimir J. van der Laan)
2016-03-29 17:22:46 +02:00
Wladimir J. van der Laan 18f05c765c build: python 3 compatibility
Ubuntu 16.04 "xenial xerus" does not come with Python 2.x by default.
It is possible to install a python-2.7 package, but this has its own
problem: no `python` or `python2` symlink (see #7717).

This fixes the following scripts to work with python 3:
- `make check` (bctest,py, bitcoin-util-test.py)
- `make translate` (extract_strings_qt.py)
- `make symbols-check` (symbol-check.py)
- `make security-check` (security-check.py)

Explicitly call the python commands using $(PYTHON) instead
of relying on the interpreter line at the top of the scripts.
2016-03-29 17:20:16 +02:00
mruddy e1523cee58 P2P: add maxtimeadjustment command line option 2016-03-29 14:40:00 +00:00
Jonas Schnelli 7d5e31a82b
[Qt] remove trailing output-index from transaction-id
The trailing output-index leads to cases where the user can't look-up the transaction ID in various systems.
2016-03-29 11:23:44 +02:00
Wladimir J. van der Laan b35a591793
Merge #7558: [RPC] Add import/removeprunedfunds rpc call
f1bb13c Added companion removeprunedfunds call. (instagibbs)
7eb7029 Add importprunedfunds rpc call (instagibbs)
2016-03-29 11:15:02 +02:00
Wladimir J. van der Laan 2676e12016
Merge #7742: [Wallet][RPC] add missing abandon status documentation
cef8bdf [Wallet][RPC] add missing abandon status documentation (Jonas Schnelli)
2016-03-29 11:10:57 +02:00
Jonas Schnelli cef8bdf5d7
[Wallet][RPC] add missing abandon status documentation 2016-03-29 08:43:08 +02:00
Wladimir J. van der Laan 0b98dd7939
Merge #7732: [Qt] Debug window: replace "Build date" with "Datadir"
fc737d1 [Qt] remove unused formatBuildDate method (Jonas Schnelli)
4856f1d [Qt] Debug window: replace "Build date" with "Datadir" (Jonas Schnelli)
2016-03-25 11:21:53 +01:00
Jonas Schnelli fc737d127f
[Qt] remove unused formatBuildDate method 2016-03-24 21:48:45 +01:00
Wladimir J. van der Laan b88e0b0c61
Merge #7506: Use CCoinControl selection in CWallet::FundTransaction
d6cc6a1 Use CCoinControl selection in CWallet::FundTransaction (João Barbosa)
2016-03-24 14:59:51 +01:00
João Barbosa df9e9233dc Fix lockunspents help message 2016-03-23 15:44:41 +00:00
Jonas Schnelli 263de3d1c8
[Wallet][RPC] add abandoned status to listtransactions 2016-03-23 15:49:53 +01:00
instagibbs f1bb13c93d Added companion removeprunedfunds call. 2016-03-23 10:40:38 -04:00
instagibbs 7eb702954e Add importprunedfunds rpc call 2016-03-23 10:40:38 -04:00
Wladimir J. van der Laan 3bdc583b3f
Merge #7715: Fix calculation of balances and available coins.
68d4282 Fix calculation of balances and available coins. (Alex Morcos)
2016-03-23 15:09:02 +01:00
Wladimir J. van der Laan e2ebd259fb
Merge #7671: [RPC] Add generatetoaddress rpc to mine to an address
d5c5c71 RPC tests for generatetoaddress (Andrew C)
fe00ca7 Create generatetoaddress rpc (Andrew C)
2016-03-23 13:24:53 +01:00
João Barbosa bb16c8894b Prevent multiple calls to CWallet::AvailableCoins 2016-03-22 08:43:37 +00:00
Jonas Schnelli 4856f1d671
[Qt] Debug window: replace "Build date" with "Datadir"
The build date does only makes sense for custom/self-compiled bitcoin-core versions because we are using static build-dates for our deterministic release builds.
Having a quick option to get the current datadir is much more valuable for debug purposes.
2016-03-22 08:40:10 +01:00
Jonas Schnelli 25340b7cd5
[Wallet] refactor wallet/init interaction 2016-03-22 08:20:59 +01:00
Alex Morcos 9e072a6e66 Implement "feefilter" P2P message.
The "feefilter" p2p message is used to inform other nodes of your mempool min fee which is the feerate that any new transaction must meet to be accepted to your mempool.  This will allow them to filter invs to you according to this feerate.
2016-03-21 10:46:25 -04:00
Andrew C fe00ca758a Create generatetoaddress rpc
Creates the generatetoaddress rpc which is virtually identical to the generate rpc except that it takes an argument for the address to mine to. It does not rely on wallet functionality.

The mining code shared by generate and generatetoaddress has been moved to another method to reduce duplication.
2016-03-21 09:58:40 -04:00
Wladimir J. van der Laan 29b2be6ad7
Merge #7692: Remove p2p alert system
cfd519e Add release note documentation (BtcDrak)
6601ce5 protocol.h/cpp: Removes NetMsgType::ALERT (Thomas Kerin)
ad72104 Formatting (BtcDrak)
1b77471 Remove alert keys (BtcDrak)
01fdfef Remove `-alerts` option (BtcDrak)
9206634 Update alert notification and GUI (BtcDrak)
bbb9d1d Remove p2p alert handling (BtcDrak)
2016-03-21 13:41:05 +01:00
Wladimir J. van der Laan 9af69fa7e7
Merge #7726: Correct importaddress help reference to importpubkey
c5825d2 Correct importaddress help reference to importpubkey (Denis Lukianov)
2016-03-21 12:51:32 +01:00
Wladimir J. van der Laan 3c27067dd2
Merge #7712: Improve COutPoint less operator
0f17692 Improve COutPoint less operator (João Barbosa)
2016-03-21 12:50:47 +01:00
Wladimir J. van der Laan 9426632cb5
Merge #7708: De-neuter NODE_BLOOM
c90036f Always disconnect old nodes which request filtered connections. (Patrick Strateman)
2016-03-21 12:44:19 +01:00
Wladimir J. van der Laan ddfd79659e
Merge #7705: [amount] Add tests and make GetFee() monotonic
fad13b1 [amount] Preempt issues with negative fee rates (MarcoFalke)
faf756a [amount] Make GetFee() monotonic (MarcoFalke)
fab6880 [qa] Add amount tests (MarcoFalke)
2016-03-21 12:40:31 +01:00
Wladimir J. van der Laan 7b832d286b
Merge #7656: Improve EncodeBase58 performance
3252208 Improve EncodeBase58 performance (João Barbosa)
2016-03-21 12:03:59 +01:00
Denis Lukianov c5825d2d73 Correct importaddress help reference to importpubkey 2016-03-21 03:16:19 +00:00
MarcoFalke fad13b1612 [amount] Preempt issues with negative fee rates 2016-03-19 15:15:56 +01:00
Patrick Strateman c90036f664 Always disconnect old nodes which request filtered connections. 2016-03-18 21:26:49 -07:00
Thomas Kerin 6601ce508e protocol.h/cpp: Removes NetMsgType::ALERT 2016-03-18 19:55:16 +00:00
BtcDrak ad7210408c Formatting 2016-03-18 19:55:16 +00:00
BtcDrak 1b77471bd6 Remove alert keys 2016-03-18 19:55:16 +00:00
BtcDrak 01fdfeffc4 Remove -alerts option 2016-03-18 19:33:59 +00:00
BtcDrak 92066344fd Update alert notification and GUI 2016-03-18 19:33:59 +00:00
BtcDrak bbb9d1d123 Remove p2p alert handling 2016-03-18 19:33:59 +00:00
Alex Morcos 68d4282774 Fix calculation of balances and available coins.
No longer consider coins which aren't in our mempool.

Add test for regression in abandonconflict.py
2016-03-18 09:56:30 -04:00
BtcDrak 12c89c9185 Policy: allow transaction version 2 relay policy.
This commit introduces a way to gracefully bump the default
transaction version in a two step process.
2016-03-18 08:09:06 +00:00
BtcDrak 02c2435802 Soft fork logic for BIP68 2016-03-18 08:09:06 +00:00
BtcDrak 478fba6d52 Soft fork logic for BIP113 2016-03-18 08:09:06 +00:00
Pieter Wuille 65751a3cf2 Add CHECKSEQUENCEVERIFY softfork through BIP9 2016-03-18 08:09:06 +00:00
João Barbosa 0f176927f8 Improve COutPoint less operator 2016-03-18 08:03:55 +00:00
Wladimir J. van der Laan 73b7eb501e
Merge #7575: Minimal BIP9 implementation
8c74ced RPC test for BIP9 warning logic (Suhas Daftuar)
7870deb Test versionbits deployments (Suhas Daftuar)
532cbb2 Add testing of ComputeBlockVersion (Suhas Daftuar)
d23f6c6 Softfork status report in RPC (Pieter Wuille)
732e774 Versionbits tests (Pieter Wuille)
6851107 BIP9 Implementation (Pieter Wuille)
2016-03-18 08:50:43 +01:00
MarcoFalke faf756ae4e [amount] Make GetFee() monotonic
This reverts the hard-to-read and buggy code introduced in
d88af56011 and adds documentation
2016-03-17 17:00:45 +01:00
MarcoFalke fab6880494 [qa] Add amount tests 2016-03-17 16:59:37 +01:00
Wladimir J. van der Laan f034bced26
Merge #7686: [qt] Remove 0-fee from send dialog
fae8467 [qt] Remove unneeded "fSendFreeTransactions" check (MarcoFalke)
fa48bb3 [qt] Remove 0-fee from send dialog (MarcoFalke)
2016-03-17 16:21:56 +01:00
MarcoFalke fae8467d41 [qt] Remove unneeded "fSendFreeTransactions" check 2016-03-17 14:48:12 +01:00
Wladimir J. van der Laan 01f4267623
Merge #7594: Mempool: Add tracking of ancestor packages
ce019bf Check all ancestor state in CTxMemPool::check() (Suhas Daftuar)
e2eeb5d Add ancestor feerate index to mempool (Suhas Daftuar)
72abd2c Add ancestor tracking to mempool (Suhas Daftuar)
76a7632 Remove work limit in UpdateForDescendants() (Suhas Daftuar)
5de2baa Rename CTxMemPool::remove -> removeRecursive (Suhas Daftuar)
7659438 CTxMemPool::removeForBlock now uses RemoveStaged (Suhas Daftuar)
2016-03-17 13:33:54 +01:00
Wladimir J. van der Laan 14d6324a24
Merge #7187: Keep reorgs fast for SequenceLocks checks
982670c Add LockPoints (Alex Morcos)
2016-03-16 21:20:04 +01:00
Alex Morcos 982670c333 Add LockPoints
Obtain LockPoints to store in CTxMemPoolEntry and during a reorg, evaluate whether they are still valid and if not, recalculate them.
2016-03-16 16:11:46 -04:00
Wladimir J. van der Laan 3d0dfdbf9f
Merge #7684: [qa] Extend tests
fad8cfb [qa] mininode: Add and use CONSTs (MarcoFalke)
fa8cd46 [qa] Move create_tx() to util.py (MarcoFalke)
fad7dc8 [qa] wallet: speed up tests (MarcoFalke)
fa3a81a [tests] Extend util_ParseMoney test case (MarcoFalke)
2016-03-16 17:32:05 +01:00
Suhas Daftuar 7870debceb Test versionbits deployments 2016-03-15 16:54:39 +01:00
Suhas Daftuar 532cbb22b5 Add testing of ComputeBlockVersion 2016-03-15 16:54:39 +01:00
Pieter Wuille d23f6c6a0d Softfork status report in RPC 2016-03-15 16:54:38 +01:00
Pieter Wuille 732e774c06 Versionbits tests 2016-03-15 16:54:38 +01:00
Pieter Wuille 6851107b3a BIP9 Implementation
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and
based on code by Jorge Timon.
2016-03-15 16:54:38 +01:00
Wladimir J. van der Laan a6a860796a
Merge #7621: Fixes ZMQ startup with bad arguments.
0040118 Fixes ZMQ startup with bad arguments. (mrbandrews)
2016-03-15 09:29:58 +01:00
Pieter Wuille c3932b3270 List solvability in listunspent output and improve help 2016-03-14 19:22:11 +01:00
MarcoFalke fa48bb3148 [qt] Remove 0-fee from send dialog 2016-03-14 18:32:09 +01:00
Suhas Daftuar ce019bf90f Check all ancestor state in CTxMemPool::check() 2016-03-14 12:13:34 -04:00
Suhas Daftuar e2eeb5dda7 Add ancestor feerate index to mempool 2016-03-14 12:13:34 -04:00
Suhas Daftuar 72abd2ce3c Add ancestor tracking to mempool
This implements caching of ancestor state to each mempool entry, similar to
descendant tracking, but also including caching sigops-with-ancestors (as that
metric will be helpful to future code that implements better transaction
selection in CreatenewBlock).
2016-03-14 12:13:33 -04:00
Suhas Daftuar 76a76321d2 Remove work limit in UpdateForDescendants()
The work limit served to prevent the descendant walking algorithm from doing
too much work by marking the parent transaction as dirty.  However to implement
ancestor tracking, it's not possible to similarly mark those descendant
transactions as dirty without having to calculate them to begin with.

This commit removes the work limit altogether.  With appropriate
chain limits (-limitdescendantcount) the concern about doing too much
work inside this function should be mitigated.
2016-03-14 12:13:31 -04:00
Suhas Daftuar 5de2baa138 Rename CTxMemPool::remove -> removeRecursive
remove is no longer called non-recursively, so simplify the logic
and eliminate an unnecessary parameter
2016-03-14 12:11:09 -04:00
Suhas Daftuar 7659438a63 CTxMemPool::removeForBlock now uses RemoveStaged 2016-03-14 12:11:08 -04:00
Jonas Schnelli 3d7e97376a
Fix torcontrol.cpp unused private field warning 2016-03-14 16:07:42 +01:00
MarcoFalke fa3a81af18 [tests] Extend util_ParseMoney test case 2016-03-14 15:49:33 +01:00
Wladimir J. van der Laan 0735c0ca7c
Merge #7608: [wallet] Move hardcoded file name out of log messages
fa19b18 [wallet] Move hardcoded file name out of log messages (MarcoFalke)
2016-03-14 13:56:23 +01:00
MarcoFalke fa19b18c63 [wallet] Move hardcoded file name out of log messages 2016-03-14 13:54:05 +01:00
Wladimir J. van der Laan 322a7a2fe0 qt: Remove reflection from about icon
While trying to find a black/white version of the Bitcoin
logo for the organization I noticed the about.png is not
entirely black - it has some reflection. Remove this to make
it the same as other icons.

Also ran the icons through `contrib/devtools/optimize-pngs.py`,
so `chevron.png` was optimized too.
2016-03-14 12:46:59 +01:00
Wladimir J. van der Laan c9a1265754
Merge #7670: use cached block hash in blockToJSON()
a6ee0ca use cached block hash in blockToJSON() (Pavel Vasin)
2016-03-14 12:22:40 +01:00
Wladimir J. van der Laan c87f51e55b
Merge #7663: Make the generate RPC call function for non-regtest
8a253b3 Make the generate RPC call function for non-regtest (Pieter Wuille)
2016-03-14 11:36:20 +01:00
Wladimir J. van der Laan 11c769966a
Merge #7507: Remove internal miner
8d1de43 Remove internal miner (Leviathn)
2016-03-14 11:35:41 +01:00
Wladimir J. van der Laan 5b3b5a7d71
Merge #7577: [Wallet] move "load wallet phase" to CWallet
15e6e13 [Wallet] optimize return value of InitLoadWallet() (Jonas Schnelli)
fc7c60d [Wallet] move "load wallet phase" to CWallet (Jonas Schnelli)
2016-03-14 11:34:50 +01:00
Wladimir J. van der Laan f1ca8915bb
Merge #7517: test: script_error checking in script_invalid tests
0ecb340 test: Script_error checking in script_invalid tests (Wladimir J. van der Laan)
2317ad7 test: Re-introduce JSON pretty printing in test builder (Wladimir J. van der Laan)
b0ff857 test: Move non-generated script_invalid test to the correct place (Wladimir J. van der Laan)
2016-03-14 11:30:06 +01:00
Wladimir J. van der Laan 56d2c4e0fe
Merge #7667: Move GetTempPath() to testutil
2fdaa25 Move GetTempPath() to testutil. (Mustafa)
393b22e Add a source file for unit test utils. (Mustafa)
2016-03-14 11:26:52 +01:00
Jonas Schnelli 15e6e13624
[Wallet] optimize return value of InitLoadWallet() 2016-03-14 09:33:27 +01:00
Jonas Schnelli b24266c207
Merge #7668: Fix history deletion bug after font size change
21e45a0 Fix history deletion bug after font change (Andrew C)
2016-03-14 09:24:39 +01:00
Jonas Schnelli 3798e5de33
Merge #7613: Add autocomplete to bitcoin-qt's console window.
ce7413f Add autocomplete to bitcoin-qt's console window. (Luv Khemani)
2016-03-14 09:20:29 +01:00
Pavel Vasin a6ee0caa4e use cached block hash in blockToJSON() 2016-03-12 17:11:59 +03:00
Luv Khemani ce7413fcb7 Add autocomplete to bitcoin-qt's console window.
Removed externs
Added listCommands() to CRPCTable

Move autocomplete init to RPCConsole::setClientModel()
2016-03-12 13:04:23 +08:00
Andrew C 21e45a097e Fix history deletion bug after font change
The history is no longer cleared after the font size is changed
2016-03-11 13:19:19 -05:00
Mustafa 2fdaa25529 Move GetTempPath() to testutil. 2016-03-11 15:04:05 +00:00
Jonas Schnelli fc7c60d699
[Wallet] move "load wallet phase" to CWallet 2016-03-11 14:31:06 +01:00
Mustafa 393b22eacb Add a source file for unit test utils. 2016-03-11 12:03:45 +00:00
Wladimir J. van der Laan 86a1ec5b2c
Merge #7576: [Wallet] move wallet help string creation to CWallet
72c2651 [Wallet] move wallet help string creation to CWallet (Jonas Schnelli)
2016-03-11 08:40:37 +01:00
Wladimir J. van der Laan 9f14e5ad91
Merge #7553: Remove vfReachable and modify IsReachable to only use vfLimited.
110b62f Remove vfReachable and modify IsReachable to only use vfLimited. (Patrick Strateman)
2016-03-11 08:25:28 +01:00
Wladimir J. van der Laan 26a2a7214f
Merge #7592: mempool: Re-remove ERROR logging for mempool rejects
8fc81e0 mempool: Reduce ERROR logging for mempool rejects (Wladimir J. van der Laan)
2016-03-11 08:20:42 +01:00
Wladimir J. van der Laan 3da5d1bc2e
Merge #7637: Fix memleak in TorController [rework]
e219503 Fix memleak in TorController [rework] (Wladimir J. van der Laan)
2016-03-11 08:19:55 +01:00
Pieter Wuille 8a253b342c Make the generate RPC call function for non-regtest 2016-03-09 22:30:15 +01:00
Pieter Wuille c8d2473e6c
Merge #7642: Avoid "Unknown command" messages when receiving getaddr on outbound c…
9988554 No "Unknown command" for getaddr command. (R E Broadley)
2016-03-09 21:52:17 +01:00
Pavel Vasin 7d2f84c72f remove unused NOBLKS_VERSION_{START,END} constants 2016-03-09 19:29:23 +03:00
João Barbosa 3252208cb1 Improve EncodeBase58 performance 2016-03-09 10:10:36 +00:00
João Barbosa d6cc6a1830 Use CCoinControl selection in CWallet::FundTransaction 2016-03-08 15:14:47 +00:00
Jonas Schnelli 87d6562299
Merge #7628: QT: Add 'copy full transaction details' option
b51ed40 QT: Add 'copy full transaction details' option (Eric Shaw)
2016-03-08 10:15:22 +01:00
R E Broadley 9988554fc7 No "Unknown command" for getaddr command. 2016-03-08 08:49:42 +00:00
Eric Shaw b51ed4036e QT: Add 'copy full transaction details' option
Adds feature from issue #7484

modifies the ctrl-c binding to copy full transaction details in transaction view.

Added translation
2016-03-07 19:50:57 -05:00