Commit graph

4473 commits

Author SHA1 Message Date
Wladimir J. van der Laan b29b509612
Merge pull request #4325
4aaa017 rework help messages for fee-related options (Philip Kaufmann)
2014-07-01 12:55:33 +02:00
Wladimir J. van der Laan dd638dd712
typedef std::map<uint256, CCoins> to CCoinsMap
This makes it possible to switch to a more efficient map type
without changing all occurences manually.

Merges half of #4413.
2014-07-01 12:48:16 +02:00
Philip Kaufmann 8d9cc7d743
fix copyright string in two of our *.rc files
- also make comment about rc-files in clientversion.h generic

Merges #4429.
2014-07-01 12:13:37 +02:00
Wladimir J. van der Laan 9aaa1cadf4
Merge pull request #4397
5d59921 add missing BOOST_FOREACH indentation in ThreadSocketHandler() (Philip Kaufmann)
9e9ca2b small cleanup of #ifdefs in BindListenPort() (Philip Kaufmann)
2014-07-01 09:54:41 +02:00
Wladimir J. van der Laan 3faf1f8294
test: Fix warning about integer signedness in P2SH tests 2014-06-30 16:37:59 +02:00
Wladimir J. van der Laan 5c184cb850
Merge pull request #4415
e35b37b RPC client: Simplify command line string-to-JSON-value conversion code (Jeff Garzik)
2014-06-30 15:56:01 +02:00
Wladimir J. van der Laan 77888d68d5
Fix the build for Qt5
Merging #3883 broke the Qt5 build, define the color in the standard
way.
2014-06-30 15:44:55 +02: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
Wladimir J. van der Laan ac26571d2b
Merge pull request #4437
de79aaa Move non-trivial uint256.h methods to uint256.cpp (Pieter Wuille)
2014-06-30 11:27:46 +02:00
Pieter Wuille 236982c2b6 Add skiplist unit tests 2014-06-29 21:51:55 +02:00
Pieter Wuille c9a0918330 Add a skiplist to the CBlockIndex structure.
This allows fast (O(log n)) access to far predecessor blocks.
Use it to speed up CChain::FindFork and CChain::GetLocator.
2014-06-29 21:51:54 +02:00
Pieter Wuille aa81564700 Track peers' available blocks 2014-06-29 21:50:55 +02:00
kazcw 16f33f163d fix RPC error replies
After pull #4288, RPC messages indicating errors have a Content-Length unrelated
to their actual contents, rendering bitcoin-cli and curl unable to decode the
reply.

This patch sets the Content-Length field based on the actual content returned.

Additionally, pull #4288 clobbered the error descriptions provided in
ErrorReply, which bitcoin-cli relies upon; this patch moves #4288 http-error
descriptions to an HTTPError method, allowing HTTPReply to pass content on
unchanged.
2014-06-28 19:16:15 -07:00
Pieter Wuille de79aaa7a9 Move non-trivial uint256.h methods to uint256.cpp 2014-06-28 18:02:42 +02:00
Wladimir J. van der Laan 7b8fc9d8ad
Merge pull request #4436
675bcd5 Correct comment for 15-of-15 p2sh script size (Michael Ford)
2014-06-28 15:09:15 +02:00
Wladimir J. van der Laan c8b6c0a2cf
Merge pull request #4425
6ecf3ed Display unknown commands received. (R E Broadley)
2014-06-28 15:07:51 +02:00
Wladimir J. van der Laan 9125ef9421
Merge pull request #4398
86fe1b8 update coding.md to reflect changes by pull (Philip Kaufmann)
e10dcf2 ensure clean and consistent "namespace" usage (Philip Kaufmann)
2014-06-28 15:06:18 +02:00
Michael Ford 675bcd5892 Correct comment for 15-of-15 p2sh script size
The original comment forgets to account for the script push which will
need an OP_PUSHDATA2 + 2-bytes for the 513 script bytes.

props davecgh
fixes #4224
2014-06-28 20:57:46 +08:00
jtimon 645d497aa0 Replace HexBits with strprintf 2014-06-28 13:19:14 +02:00
Wladimir J. van der Laan ba81f45607
Merge pull request #3990
0dd5d3a Show only one zero instead of many when getblocks request received with a hashStop of uint256(0) (R E Broadley)
2014-06-28 10:16:09 +02:00
R E Broadley 6ecf3edfee Display unknown commands received. 2014-06-28 10:02:19 +07:00
R E Broadley 0dd5d3a009 Show only one zero instead of many when getblocks request received with a hashStop of uint256(0) 2014-06-28 09:55:24 +07:00
Tom Harding 7a19efe040 Formatting, spelling, comment fixes. 2014-06-27 16:47:33 -07:00
Wladimir J. van der Laan dfaa35d8cd
Merge pull request #4430
33c62c9 set shutdown title to main window title (Philip Kaufmann)
2014-06-27 18:53:11 +02:00
Tom Harding 9004798e62 Add -respendnotify option and new RPC data
-respendnotify=<cmd> Execute command when a network tx respends wallet
tx input (%s=respend TxID, %t=wallet TxID)

Add respendsobserved array to gettransaction, listtransactions, and
listsinceblock RPCs.  This omits the malleated clones that are included
in the walletconflicts array.

Add RPC help for respendsobserved and walletconflicts (help was missing
for the latter).
2014-06-27 07:54:21 -07:00
Tom Harding ada5a067c7 UI to alert of respend attempt affecting wallet.
Respend transactions that conflict with transactions already in the
wallet are added to it.  They are not displayed unless they also involve
the wallet, or get into a block.  If they do not involve the wallet,
they continue not to affect balance.

Transactions that involve the wallet, and have conflicting non-equivalent
transactions, are highlighted in red.  When the conflict first occurs, a
modal dialog is thrown.

CWallet::SyncMetaData is changed to sync only to equivalent transactions.

When a conflict is added to the wallet, counter nConflictsReceived is
incremented.  This acts like a change in active block height for the
purpose of triggering UI updates.
2014-06-27 07:54:21 -07:00
Tom Harding d640a3ceab Relay double-spends, subject to anti-DOS
Allows network wallets and other clients to see transactions that respend
a prevout already spent in an unconfirmed transaction in this node's mempool.

Knowledge of an attempted double-spend is of interest to recipients of the
first spend.  In some cases, it will allow these recipients to withhold
goods or services upon being alerted of a double-spend that deprives them
of payment.

As before, respends are not added to the mempool.

Anti-Denial-of-Service-Attack provisions:
 - Use a bloom filter to relay only one respend per mempool prevout
 - Rate-limit respend relays to a default of 100 thousand bytes/minute
 - Define tx2.IsEquivalentTo(tx1): equality when scriptSigs are not considered
 - Do not relay these equivalent transactions

Remove an unused variable declaration in txmempool.cpp.
2014-06-27 07:54:21 -07:00
Tom Harding 8fbf03995d CBloomFilter::clear() method 2014-06-27 07:54:21 -07: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
Philip Kaufmann 33c62c9c0b set shutdown title to main window title
- this ensures we don't show Bitcoin-Qt as that is still our
  internal application name
- fixes #4427
2014-06-27 15:09:41 +02:00
Wladimir J. van der Laan 4684c883bb
Merge pull request #4208
6a5c124 [Qt] don't allow translation of our example btc address (Philip Kaufmann)
2014-06-27 12:46:49 +02:00
Philip Kaufmann 40a158e100 minor code format fix in rpc-related files 2014-06-27 11:13:25 +02:00
Wladimir J. van der Laan d77f761be9
Merge pull request #4288
ed5769f Move AcceptedConnection class to rpcserver.h. (Jeff Garzik)
854d013 RPC code movement: separate out JSON-RPC execution logic from HTTP server logic (Jeff Garzik)
c912e22 RPC cleanup: Improve HTTP server replies (Jeff Garzik)
2014-06-27 10:03:19 +02:00
Jeff Garzik ed5769f536 Move AcceptedConnection class to rpcserver.h.
Also, add parens to HTTPReply() to assist readability.
2014-06-27 00:10:53 -04:00
Jeff Garzik 854d013012 RPC code movement: separate out JSON-RPC execution logic from HTTP server logic 2014-06-26 23:32:18 -04:00
Jeff Garzik c912e22db0 RPC cleanup: Improve HTTP server replies
1) support varying content types
2) support only sending the header
3) properly deliver error message as content, if HTTP error
4) move AcceptedConnection class to header, for wider use
2014-06-26 23:32:18 -04:00
Jeff Garzik e35b37b1b8 RPC client: Simplify command line string-to-JSON-value conversion code
By default, all command line parameters are converted into JSON string
values.  There is no need to manually specify the incoming type.

A binary decision "parse as string or JSON?" is all that's necessary.

Convert to a simple class, initialized at runtime startup, which offers
a quick lookup to answer "parse as JSON?" conversion question.

Future parameter conversions need only to indicate the method name
and zero-based index of the parameter needing JSON parsing.
2014-06-26 22:18:30 -04:00
Whit J c598f2acdb Fixed captitalization in bitcoin-cli-res.rc 2014-06-26 18:31:40 -07:00
Huang Le caf6150e97 Use async name resolving to improve net thread responsiveness
In the LookupIntern(), things changed are:

  1. Call getaddrinfo_a() instead of getaddrinfo() if available, the former is a sync version of the latter;
  2. Try using inet_pton()/inet_addr() to convert the input text to a network addr structure at first, if success the extra name resolving thread inside getaddrinfo_a() could be avoided;
  3.  An interruption point added in the waiting loop for return from getaddrinfo_a(), which completes the improve for thread responsiveness.

A easy way to see the effect is to kick off a 'bitcoind stop' immediately after 'bitcoind -daemon', before the change it would take several, or even tens of, minutes on a bad network situation to wait for the running bitcoind to exit, now it costs only seconds.

Signed-off-by: Huang Le <4tarhl@gmail.com>
2014-06-27 02:55:39 +08:00
Wladimir J. van der Laan 236ae8665e
Merge pull request #3715
e44fea5 Add an option to allow users to disable relaying/mining data carrier transactions (Luke Dashjr)
2014-06-26 17:31:12 +02:00
Wladimir J. van der Laan eacff4a9c6
Merge pull request #4392
8ae973c Allocate more space if necessary in RandSeedAddPerfMon (Wladimir J. van der Laan)
be873f6 Issue warning if collecting RandSeed data failed (Wladimir J. van der Laan)
fcb0a1b change "char pch[200000]" to "new char[200000]" (daniel)
2014-06-26 17:11:53 +02:00
Luke Dashjr e44fea55ea Add an option to allow users to disable relaying/mining data carrier transactions 2014-06-26 14:31:06 +00:00
Wladimir J. van der Laan ffb32acfab
Merge pull request #1583
2a72d45 JSON-RPC method: prioritisetransaction <txid> <priority delta> <priority tx fee> (Luke Dashjr)
2014-06-26 16:20:01 +02:00
Wladimir J. van der Laan 8ae973c00c Allocate more space if necessary in RandSeedAddPerfMon
Currently we use a fixed buffer of 250000 bytes to request
HKEY_PERFORMANCE_DATA. In many cases this is not enough, causing the
entropy collection to be skipped.

Use a loop that grows the buffer as specified in the RegQueryValueEx
documentation:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724911%28v=vs.85%29.aspx

(as the size of the performance data can differ for every call, the
normal solution of requesting the size then allocating that can't work)
2014-06-26 15:15:17 +02:00
Luke Dashjr 2a72d4591f JSON-RPC method: prioritisetransaction <txid> <priority delta> <priority tx fee>
Accepts the transaction into mined blocks at a higher (or lower) priority
2014-06-26 11:49:46 +00:00
Philip Kaufmann cf04d83624 add OpenSSL RAND_cleanup() on OpenSSL shutdown
- to securely erase the memory used by the PNRG
- also rework 2 comments in OpenSSL init
2014-06-26 11:04:31 +02:00
Philip Kaufmann 5d59921237 add missing BOOST_FOREACH indentation in ThreadSocketHandler() 2014-06-26 11:01:24 +02:00
Philip Kaufmann 9e9ca2b671 small cleanup of #ifdefs in BindListenPort()
- SO_NOSIGPIPE isn't available on WIN32 so merge the 2 non-WIN32 blocks
- use predefined names from header for IPV6_PROTECTION_LEVEL and
  PROTECTION_LEVEL_UNRESTRICTED
2014-06-26 11:01:23 +02:00
Philip Kaufmann e10dcf27b4 ensure clean and consistent "namespace" usage
- remove some missplaced ;
- ensure end of a namespace is clearly visible
- use same formatting when using namespace
2014-06-26 10:36:57 +02: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
gubatron 8969828d06 [Qt] New status bar Unit Display Control and related changes.
- New status bar control shows the current Unit of Display.
  When clicked (left,or right button) it shows a context menu
  that allows the user to switch the current Unit of Display (BTC, mBTC, uBTC)
- Recent Requests and Transaction Table headers are now updated when
  unit of display is changed, because their "Amount" column now displays the
  current unit of display.
- Takes care of issue #3970 Units in transaction export csv file.
- Small refactors for reusability.
- Demo Video https://www.youtube.com/watch?v=wwcr0Yh68go&list=UUG3jF2hgofmLWP0tRPisQAQ
- changes after Diapolo's feedback. Have not been able to build after last pool, issues with boost on MacOSX, will test on Ubuntu these changes.
- removed return statement on switch
- renamed onDisplayUnitsChanged(int) to updateDisplayUnit(int)
- now getAmountColumnTitle(int unit) takes a simple unit parameter. moved to BitcoinUnits.
2014-06-25 14:53:05 -04:00
Wladimir J. van der Laan 75c82d4923 Move coins.cpp and keystore.cpp to libbitcoin_common
Prepare for introduction of `bitcoin-tx` tool.
2014-06-25 10:31:35 +02:00
Wladimir J. van der Laan 84ce18ca93 Remove unnecessary dependencies for bitcoin-cli
This commit removes all the unnecessary dependencies (key, core,
netbase, sync, ...) from bitcoin-cli.

To do this it shards the chain parameters into BaseParams, which
contains just the RPC port and data directory (as used by utils and
bitcoin-cli) and Params, with the rest.
2014-06-25 10:31:35 +02:00
Wladimir J. van der Laan 14f888ca80 Move network-time related functions to timedata.cpp/h
The network time-offset-mangement functions from util.cpp are moved to
timedata.(cpp|h). This breaks the dependency of util on netbase.
2014-06-25 09:24:50 +02:00
Wladimir J. van der Laan 208bf5b9e0
Merge pull request #3839
fd704c7 move pow constants to chainparams (jtimon)
df852d2 Refactor proof of work related functions out of main (jtimon)
2014-06-25 09:14:36 +02:00
Wladimir J. van der Laan 27383b9015
Merge pull request #4390
6dc90ed replace 3 separate calls to WSAGetLastError() with 1 (Philip Kaufmann)
2014-06-25 07:20:42 +02:00
Whit J e3aedbae9b Consistent lettering 2014-06-24 17:23:05 -07:00
Wladimir J. van der Laan 6e8472ec7c
Merge pull request #4403
5fbb4c9 [Qt] fix links in about window not opening (Philip Kaufmann)
2014-06-24 18:07:45 +02:00
Wladimir J. van der Laan 0410d11b3a
Merge pull request #4130
1c750db remove -tor compatibility code (only allow -onion) (Philip Kaufmann)
2014-06-24 17:51:32 +02:00
Wladimir J. van der Laan 5dd0bfefcb
Merge pull request #4169
0655fac miner: indentation fixes, remove for (;;) (Philip Kaufmann)
2014-06-24 17:17:13 +02:00
Wladimir J. van der Laan d4392c8989
Merge pull request #3674
77cbd46 Let -zapwallettxes recover transaction meta data (Cozz Lovan)
2014-06-24 17:04:52 +02:00
Philip Kaufmann 5fbb4c9b58 [Qt] fix links in about window not opening
- closes #4402
2014-06-24 16:36:14 +02:00
Philip Kaufmann 1c750dbd40 remove -tor compatibility code (only allow -onion)
- exit, if -tor option is found and give error to user
2014-06-24 16:07:20 +02:00
Philip Kaufmann 6dc90ed8fa replace 3 separate calls to WSAGetLastError() with 1 2014-06-24 08:46:12 +02:00
jtimon fd704c7b2c move pow constants to chainparams 2014-06-23 23:10:24 +02:00
jtimon df852d2bcc Refactor proof of work related functions out of main 2014-06-23 23:10:24 +02: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
Cory Fields f3967bcc50 build: fix build weirdness after 54372482.
bitcoin-config.h moved, but the old file is likely to still exist when
reconfiguring or switching branches. This would've caused files to not rebuild
correctly, and other strange problems.

Make the path explicit so that the old one cannot be found.

Core libs use config/bitcoin-config.h.

Libs (like crypto) which don't want access to bitcoin's headers continue
to use -Iconfig and #include bitcoin-config.h.
2014-06-23 14:04:38 -04:00
Wladimir J. van der Laan be873f6454
Issue warning if collecting RandSeed data failed 2014-06-23 16:29:51 +02:00
Philip Kaufmann 6a5c124b84 [Qt] don't allow translation of our example btc address 2014-06-23 15:11:28 +02:00
Wladimir J. van der Laan a652787737
Merge pull request #4314
b3c912d [Qt] Change Coin control labels and tooltips because of non-rounding fees (Cozz Lovan)
2014-06-23 12:07:50 +02:00
daniel fcb0a1bb9c change "char pch[200000]" to "new char[200000]" 2014-06-23 11:59:58 +02:00
Wladimir J. van der Laan fa126effc2
Avoid undefined behavior using CFlatData in CScript serialization
`&vch[vch.size()]` and even `&vch[0]` on vectors can cause assertion
errors with VC in debug mode. This is the problem mentioned in #4239.
The deeper problem with this is that we rely on undefined behavior.

- Add `begin_ptr` and `end_ptr` functions that get the beginning and end
  pointer of vector in a reliable way that copes with empty vectors and
  doesn't reference outside the vector
(see https://stackoverflow.com/questions/1339470/how-to-get-the-address-of-the-stdvector-buffer-start-most-elegantly/1339767#1339767).
- Add a convenience constructor to CFlatData that wraps a vector.

I added `begin_ptr` and `end_ptr` as separate functions as I imagine
they will be useful in more places.
2014-06-23 10:38:15 +02:00
Wladimir J. van der Laan 52d4abfdef
Merge pull request #4388
3dc1464 add missing vhListenSocket.clear(); to CNetCleanup() (Philip Kaufmann)
2831a03 remove unused CNode::Cleanup() (Philip Kaufmann)
2014-06-23 10:21:38 +02:00
Wladimir J. van der Laan 82f2bba1ad
Merge pull request #4391
b612bde remove unneded class CNodeCombinedStats; from rpcconsole.cpp (Philip Kaufmann)
2014-06-23 10:01:07 +02:00
Philip Kaufmann b612bde521 remove unneded class CNodeCombinedStats; from rpcconsole.cpp
- also 2 small style fixes
2014-06-23 08:06:52 +02:00
Pieter Wuille d4e4e05435
Merge pull request #4309
d38da59 Code simplifications after CTransaction::GetHash() caching (Pieter Wuille)
4949004 Add CMutableTransaction and make CTransaction immutable. (Pieter Wuille)
2014-06-22 20:45:30 +02:00
Pieter Wuille 6b40eabbcf
Merge pull request #4381
806fd19 Allocate receive buffers in on the fly (Pieter Wuille)
2014-06-22 17:43:40 +02:00
Philip Kaufmann 3dc1464f0a add missing vhListenSocket.clear(); to CNetCleanup() 2014-06-22 14:52:38 +02:00
Philip Kaufmann 2831a03b79 remove unused CNode::Cleanup() 2014-06-22 14:51:38 +02:00
Philip Kaufmann 0655fac0b1 miner: indentation fixes, remove for (;;)
- change a for (;;) into while (true), as we nowhere else use the first
- init nNonceFound to 0
- fix indentation in BitcoinMiner try/catch block
2014-06-22 00:33:42 +02:00
Pieter Wuille d38da59bf6 Code simplifications after CTransaction::GetHash() caching 2014-06-22 00:06:17 +02:00
Pieter Wuille 4949004d68 Add CMutableTransaction and make CTransaction immutable.
In addition, introduce a cached hash inside CTransaction, to prevent
recalculating it over and over again.
2014-06-21 22:59:03 +02:00
Pieter Wuille 8f59251b83
Merge pull request #4100
a0495bb Add <Hasher>::OUTPUT_SIZE (Pieter Wuille)
4791b99 crypto: create a separate lib for crypto functions (Cory Fields)
f2647cc crypto: explicitly check for byte read/write functions (Cory Fields)
5437248 build: move bitcoin-config.h to its own directory (Cory Fields)
3820e01 Extend and move all crypto tests to crypto_tests.cpp (Pieter Wuille)
7ecd973 Move {Read,Write}{LE,BE}{32,64} to common.h and use builtins if possible (Pieter Wuille)
a5bc9c0 Add built-in RIPEMD-160 implementation (Pieter Wuille)
13b5dfe Move crypto implementations to src/crypto/ (Pieter Wuille)
1cc344c Add built-in SHA-1 implementation. (Pieter Wuille)
85aab2a Switch miner.cpp to use sha2 instead of OpenSSL. (Pieter Wuille)
cf0c47b Remove getwork() RPC call (Pieter Wuille)
7b4737c Switch script.cpp and hash.cpp to use sha2.cpp instead of OpenSSL. (Pieter Wuille)
977cdad Add a built-in SHA256/SHA512 implementation. (Pieter Wuille)
2014-06-21 22:52:46 +02:00
Jeff Garzik b4ccf0a5c7 Merge pull request #4379 from Diapolo/cleanup_compat
small cleanup in src/compat .h and .cpp
2014-06-21 16:29:12 -04:00
Pieter Wuille a0495bb68c Add <Hasher>::OUTPUT_SIZE 2014-06-21 19:47:43 +02:00
Cory Fields 4791b99e2d crypto: create a separate lib for crypto functions
This lib has no dependencies on other bitcoin functionality. Attempting to
use bitcoin headers will result in a failure to compile.
2014-06-21 19:47:43 +02:00
Cory Fields f2647cc0e9 crypto: explicitly check for byte read/write functions
Don't depend on hard-coded platform lists
2014-06-21 19:47:43 +02:00
Cory Fields 54372482a8 build: move bitcoin-config.h to its own directory
This allows us to include its path without making other header includes valid.
2014-06-21 19:47:43 +02:00
Pieter Wuille 3820e01eb9 Extend and move all crypto tests to crypto_tests.cpp 2014-06-21 19:47:43 +02:00
Pieter Wuille 7ecd9739d9 Move {Read,Write}{LE,BE}{32,64} to common.h and use builtins if possible 2014-06-21 19:47:42 +02:00
Pieter Wuille a5bc9c0917 Add built-in RIPEMD-160 implementation 2014-06-21 19:47:42 +02:00
Pieter Wuille 13b5dfef64 Move crypto implementations to src/crypto/ 2014-06-21 19:47:42 +02:00
Pieter Wuille 1cc344ce42 Add built-in SHA-1 implementation. 2014-06-21 19:47:39 +02:00
Pieter Wuille 85aab2a088 Switch miner.cpp to use sha2 instead of OpenSSL. 2014-06-21 19:47:39 +02:00
Pieter Wuille cf0c47b269 Remove getwork() RPC call 2014-06-21 19:47:39 +02:00
Pieter Wuille 7b4737c878 Switch script.cpp and hash.cpp to use sha2.cpp instead of OpenSSL. 2014-06-21 19:47:39 +02:00
Pieter Wuille 977cdadea8 Add a built-in SHA256/SHA512 implementation.
This also moves the HMAC-SHA512 implementation to sha2.cpp.
2014-06-21 19:47:39 +02:00
Wladimir J. van der Laan 540ce6aa10
Merge pull request #4380
38405ac Add comment regarding experimental-use service bits (Peter Todd)
99ddc6c Add nLocalServices info to RPC getinfo (Peter Todd)
2014-06-21 19:26:18 +02:00
Peter Todd 38405ac141
Add comment regarding experimental-use service bits
As per mailing list discussion.
2014-06-21 11:43:23 -04:00
Peter Todd 99ddc6cb70 Add nLocalServices info to RPC getinfo
Also show full 64 bits of services. Previously service bits >32 that
were advertised just didn't show up at all.
2014-06-21 11:43:19 -04:00
Pieter Wuille 806fd19ecb Allocate receive buffers in on the fly 2014-06-21 17:00:38 +02:00
Philip Kaufmann fc0c07eb64 small cleanup in src/compat .h and .cpp
- add license header
- fix include guards
- fix indentation
2014-06-21 14:39:17 +02:00
Pavel Vasin ea3acaf383 AvailableCoins: acquire cs_main mutex
It's required when called from WalletModel
2014-06-20 16:32:57 +04:00
Wladimir J. van der Laan b8b98d5642
Merge pull request #4310
7a9e0b6 Move checkpoint based heuristic checks to AcceptBlockHeader (Pieter Wuille)
2014-06-19 14:38:45 +02:00
Wladimir J. van der Laan 6afa49329d rpc: Add acceptors only when listening succeeded 2014-06-19 08:19:52 +02:00
Wladimir J. van der Laan 33e5b42910 rpc: Ignore and log errors during cancel
Cancelling the RPC acceptors can sometimes result in an error about
a bad file descriptor.

As this is the shutdown sequence we need to continue nevertheless,
ignore these errors, log a warning and proceed.

Fixes #4352.
2014-06-19 08:19:46 +02:00
Wladimir J. van der Laan 9fe80a2ec8
Merge pull request #4334
6763018 [Qt] rename In:/Out: to Received/Sent in traffic tab (Philip Kaufmann)
2014-06-18 09:59:47 +02:00
Wladimir J. van der Laan b8e56aa8ef
Merge pull request #4339
92a6220 sanity: hook up sanity checks (Cory Fields)
679240d sanity: add libc/stdlib sanity checks (Cory Fields)
11404af sanity: autoconf check for sys/select.h (Cory Fields)
2014-06-18 09:52:50 +02:00
Wladimir J. van der Laan 5694d10781
Merge pull request #4346
1569353 Add `-stopafterblockimport` option (Wladimir J. van der Laan)
2014-06-17 14:51:15 +02:00
jtimon f6984e8141 Add "chain" to getmininginfo, improve help in getblockchaininfo 2014-06-17 13:11:36 +02:00
jtimon b82b7ec3dc Get rid of Params().RPCisTestNet() 2014-06-17 13:08:25 +02:00
Philip Kaufmann 1020f599f3 add comment to HelpMessage() to ensure alphabetical ordering
- also rename hmm to mode, to be consistent between .h and .cpp
2014-06-17 09:17:12 +02:00
Cory Fields 92a6220711 sanity: hook up sanity checks 2014-06-16 17:21:34 -04:00
Cory Fields 679240d0e9 sanity: add libc/stdlib sanity checks
These are meant to test our back-compat stubs, but they are enabled for all
builds for the sake of consistency.
2014-06-16 17:21:34 -04:00
Cozz Lovan b3c912d93a [Qt] Change Coin control labels and tooltips because of non-rounding fees 2014-06-16 22:39:43 +02:00
Cozz Lovan 77cbd4623e Let -zapwallettxes recover transaction meta data 2014-06-16 18:56:57 +02:00
Wladimir J. van der Laan 09eb201b1b Remove using namespace std from header file
It's considered bad form to import things into the global namespace in a
header. Put it in the cpp files where it is needed instead.
2014-06-16 17:42:54 +02:00
Wladimir J. van der Laan 807691ca96
Merge pull request #4326
f5ae6c9 add NetworkIDString() to chainparams (Philip Kaufmann)
2014-06-16 17:41:27 +02:00
Wladimir J. van der Laan f73082db87
Merge pull request #4337
88df548 base58: add paranoid return value checks (Jeff Garzik)
2014-06-16 17:29:43 +02:00
Wladimir J. van der Laan 1569353b8a
Add -stopafterblockimport option
Stop after importing blocks. This can be useful for development
and trouble shooting.
2014-06-16 11:47:32 +02:00
Philip Kaufmann 6763018797 [Qt] rename In:/Out: to Received/Sent in traffic tab
- collides with In:/Out: used for displaying number of
  connections when translating
2014-06-16 08:23:45 +02:00
Wladimir J. van der Laan b750cf1fb9
Remove cli functionality from bitcoind
As it says on the tin. It was deprecated in version 0.9, and
at some point it should be removed.

Removes the dependency of bitcoind on libbitcoin-cli.a. Move
some functions that used to be shared but are now only used in
bitcoin-cli.cpp to that file.

After this change, an error is printed (and exit code 1 is returned)
when the user tries to send RPC commands using bitcoind.
2014-06-15 15:38:22 +02:00
Jeff Garzik 0cafb63025
bitcoin-cli, rpcclient: prefer EXIT_FAILURE cstdlib constant
A more complex construction via abs() yields the same end result.

Rebased-From: 34ff109
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-06-15 14:47:04 +02:00
kevin 33cc907dfb Add DNS seed of open-nodes.org 2014-06-15 15:35:53 +08:00
Wladimir J. van der Laan 8615bfb486
Merge pull request #4316
18116b0 Ignore too-long redeemScripts while loading wallet (Wladimir J. van der Laan)
2014-06-14 11:32:03 +02:00
Wladimir J. van der Laan 8047fb04ed
Merge pull request #4193
71aaff3 Remove double-dash parameters from mapArgs (Kosta Zertsekel)
2014-06-12 16:47:48 +02:00
Wladimir J. van der Laan fe1f417287
Merge pull request #4281
5c97aae qt: Unify AboutDialog and HelpMessageDialog (Wladimir J. van der Laan)
45615af Add 'about' information to `-version` output (Wladimir J. van der Laan)
97789d3 util: Add function FormatParagraph to format paragraph to fixed-width (Wladimir J. van der Laan)
96b733e Add `-version` option to get just the version (Wladimir J. van der Laan)
2014-06-12 16:42:55 +02:00
Wladimir J. van der Laan 5c97aae6da qt: Unify AboutDialog and HelpMessageDialog
They share so much code and functionality that they may as well
be one class.
2014-06-12 16:11:56 +02:00
Wladimir J. van der Laan 45615af26f Add 'about' information to -version output
Adds a copyright and attribution message to the `-version` output
(the same as shown in the About dialog in the GUI).

Move the message to a function LicenseInfo in init.cpp.
2014-06-12 16:11:56 +02:00
Wladimir J. van der Laan 18116b06c1 Ignore too-long redeemScripts while loading wallet
This avoids that long redeemScripts that were grandfathered in
prevent the wallet from loading.

Fixes #4313.
2014-06-12 15:28:41 +02:00
Wladimir J. van der Laan e5ee8f016e
Remove -beta suffix
It conflicts with our normal naming of releases/builds. Fixes #4221.
2014-06-12 13:52:15 +02:00
Philip Kaufmann f5ae6c9826 add NetworkIDString() to chainparams
- returns the BIP70 network string
- use that new function in the core and GUI code and remove unused code
  and functions
2014-06-12 13:19:12 +02:00
Wladimir J. van der Laan 3f39b9d455
Merge pull request #2784
f1920e8 Ping automatically every 2 minutes (unconditionally) (Pieter Wuille)
2014-06-12 12:40:09 +02:00
Jeff Garzik 88df548dde base58: add paranoid return value checks 2014-06-11 23:20:37 -04:00
Andreas Schildbach c30329adfa Add testnet DNS seed of Alex Kotenko. 2014-06-12 00:36:53 +02:00
Philip Kaufmann f3790472f0 remove unused code from getblockchaininfo() 2014-06-11 14:56:08 +02:00
Wladimir J. van der Laan 97789d374c util: Add function FormatParagraph to format paragraph to fixed-width
This is to be used for the `-version` and `-help` messages.
2014-06-11 14:27:09 +02:00
Wladimir J. van der Laan 96b733e996 Add -version option to get just the version
Adds a `-version` or `--version` option to print just the version
of the program for bitcoind, bitcoin-cli and bitcoin-qt.

Also make it that `-help` can be used to display the help (as well as
existing `--help`). Up to now, `-help` was the only option that didn't
work with either one or two dashes.
2014-06-11 14:22:50 +02:00
Wladimir J. van der Laan 9c8d2f6df0
Merge pull request #4227
634bd61 convert an if into an else if in OpenNetworkConnection() (Philip Kaufmann)
5bd6c31 small cleanup of net (Philip Kaufmann)
2014-06-11 13:01:11 +02:00
Philip Kaufmann 634bd61b76 convert an if into an else if in OpenNetworkConnection() 2014-06-11 12:40:13 +02:00
Philip Kaufmann 5bd6c31bd6 small cleanup of net
- remove an unneded else in ConnectNode()
- make 0 a double and change to 0.0 in ConnectNode()
- rename strDest to pszDest in OpenNetworkConnection()
- remove an unneded call to our REF() macro in BindListenPort()
- small style cleanups and removal of unneeded new-lines
2014-06-11 12:38:31 +02:00
Philip Kaufmann 4aaa01783d rework help messages for fee-related options
- mention the units and show the default for -paytxfee
2014-06-11 12:16:26 +02:00
Philip Kaufmann 56b07d2dcd [Qt] allow setting listen via GUI
- add DEFAULT_LISTEN in net.h and use in the code (shared
  setting between core and GUI)

Important: This makes it obvious, that we need to re-think the
settings/options handling, as GUI settings are processed before
any parameter-interaction (which is mostly important for network
stuff) in AppInit2()!
2014-06-11 12:04:17 +02:00
Wladimir J. van der Laan 5905d71fe3
Merge pull request #4170
ac14bcc small formatting, indentation and comment fixes (Philip Kaufmann)
2014-06-11 11:31:00 +02:00
Wladimir J. van der Laan d01574f792
Merge pull request #4277
4a09e1d key.cpp: fail with a friendlier message on missing ssl EC support (Andrew Poelstra)
2014-06-11 08:34:25 +02:00
Wladimir J. van der Laan 4e45932659
Merge pull request #4321
699fe63 remove wrong ; in chainparams.h and order includes (Philip Kaufmann)
2014-06-11 08:26:20 +02:00
Wladimir J. van der Laan 40c3781365
Merge pull request #4323
38e324a build: qt: split locale resources. Fixes non-deterministic distcheck (Cory Fields)
2014-06-11 08:16:23 +02:00
Cory Fields 38e324af86 build: qt: split locale resources. Fixes non-deterministic distcheck
The rcc tool is quirky and only honors files in the same directory as the qrc.
When doing an out-of-tree build (as 'make distcheck' does), the generated
translation files end up in a different path, so rcc can't find them.

Split them up so that rcc is run twice: once for static source files and once
for generated files.
2014-06-10 15:53:21 -04:00
Philip Kaufmann 699fe635c6 remove wrong ; in chainparams.h and order includes 2014-06-10 19:33:12 +02:00
Philip Kaufmann 1c24187b51 remove unused UPnP code from main.h 2014-06-10 18:34:35 +02:00
Philip Kaufmann ac14bcc1f1 small formatting, indentation and comment fixes
- contains zero code changes
2014-06-10 18:23:56 +02:00
Wladimir J. van der Laan 6dd5edb7de
Remove unused Print/PrintHex functions
You can just use HexStr(script) or script.ToString() for debugging, no
need for these extra functions.
2014-06-10 15:03:21 +02:00
Wladimir J. van der Laan 588fb4e82f
Merge pull request #4305
95a9383 [Qt] Remove CENT-fee-rule from coin control completely (Cozz Lovan)
2014-06-10 10:42:42 +02:00
Pieter Wuille f1920e8606 Ping automatically every 2 minutes (unconditionally)
... instead of after 30 minutes of no sending, for latency measurement
and keep-alive. Also, disconnect if no reply arrives within 20 minutes,
instead of 90 of inactivity (for peers supporting the 'pong' message).
2014-06-09 23:06:56 +02:00
Wladimir J. van der Laan 6741837233
Merge pull request #4300
dff0e3b [Qt] Improve rpc console history behavior (Cozz Lovan)
2014-06-09 12:58:56 +02:00
Wladimir J. van der Laan 62fdf381fa
Merge pull request #3824
f0a83fc Use Params().NetworkID() instead of TestNet() from the payment protocol (jtimon)
2871889 net.h was using std namespace through chainparams.h included in protocol.h (jtimon)
c8c52de Replace virtual methods with static attributes, chainparams.h depends on protocol.h instead of the other way around (jtimon)
a3d946e Get rid of TestNet() (jtimon)
6fc0fa6 Add RPCisTestNet chain parameter (jtimon)
cfeb823 Add RequireStandard chain parameter (jtimon)
21913a9 Add AllowMinDifficultyBlocks chain parameter (jtimon)
d754f34 Move majority constants to chainparams (jtimon)
8d26721 Get rid of RegTest() (jtimon)
cb9bd83 Add DefaultCheckMemPool chain parameter (jtimon)
2595b9a Add DefaultMinerThreads chain parameter (jtimon)
bfa9a1a Add MineBlocksOnDemand chain parameter (jtimon)
1712adb Add MiningRequiresPeers chain parameter (jtimon)
2014-06-09 12:52:29 +02:00
Pieter Wuille 18e72167dd Push cs_mains down in ProcessBlock 2014-06-09 02:21:15 +02:00
Pieter Wuille 202e01941c Move all post-chaintip-change notifications to ActivateBestChain 2014-06-09 02:21:15 +02:00
Pieter Wuille 4e0eed88ac Allow ActivateBestChain to release its lock on cs_main 2014-06-09 02:21:15 +02:00
Pieter Wuille 77339e5aec Get rid of the static chainMostWork (optimization) 2014-06-09 02:21:15 +02:00
Pieter Wuille 7a9e0b6460 Move checkpoint based heuristic checks to AcceptBlockHeader 2014-06-09 01:27:56 +02:00
Cozz Lovan 95a93836d8 [Qt] Remove CENT-fee-rule from coin control completely 2014-06-08 01:48:11 +02:00
Drak 02bec4b268 Fix compiler warnings
Fixes the following compiler warning

```
miner.cpp: In constructor ‘COrphan::COrphan(const CTransaction*)’:
miner.cpp:69:14: warning: ‘COrphan::feeRate’ will be initialized after [-Wreorder]
     CFeeRate feeRate;
              ^
miner.cpp:68:12: warning:   ‘double COrphan::dPriority’ [-Wreorder]
     double dPriority;
            ^
miner.cpp:71:5: warning:   when initialized here [-Wreorder]
     COrphan(const CTransaction* ptxIn) : ptx(ptxIn), feeRate(0), dPriority(0)
```
2014-06-07 12:57:58 +01:00
Cozz Lovan dff0e3b915 [Qt] Improve rpc console history behavior 2014-06-07 13:20:30 +02:00
Wladimir J. van der Laan db41541bc2
qt: Periodic translation update 2014-06-06 19:29:03 +02: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 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
Wladimir J. van der Laan 345cb52e8b
Merge pull request #4297
b917555 qt: PeerTableModel: Fix potential deadlock. #4296 (Ashley Holman)
2014-06-06 10:13:48 +02:00
Ashley Holman b917555b04
qt: PeerTableModel: Fix potential deadlock. #4296 2014-06-06 16:59:15 +09:30
Cory Fields efe6888407 build: fix version dependency 2014-06-05 16:05:57 -04:00
Cory Fields f4d81129f0 build: quit abusing AM_CPPFLAGS
Now that the build is non-recursive, adding to AM_CPPFLAGS means adding to
_all_ cppflags.

Logical groups of includes have been added instead, and are used individually
by various targets.
2014-06-05 16:05:57 -04:00
Cory Fields 56c157d5e0 build: avoid the use of top_ and abs_ dir paths
Using them has the side effect of confusing the dependency-tracking logic.
2014-06-05 16:05:57 -04:00
Cory Fields 70c71c50ce build: Tidy up file generation output
- Some file generation was still noisy, silence it.
- AM_V_GEN is used rather than @ so that 'make V=1' works as intended
- Cut down on file copies and moves when using sed, use pipes instead
- Avoid the use of top_ and abs_ dirs where possible
2014-06-05 16:05:57 -04:00
Cory Fields 6b9f0d5554 build: nuke Makefile.include from orbit
Rules and targets no longer need to be shared between subdirectories, so
this is no longer needed.
2014-06-05 16:05:57 -04:00
Cory Fields 8b09ef7b63 build: add stub makefiles for easier subdir builds 2014-06-05 16:05:43 -04:00
Cory Fields be4e9aeb14 build: delete old Makefile.am's 2014-06-05 16:05:42 -04:00
Cory Fields 65e8ba4dbe build: Switch to non-recursive make
Build logic moves from individual Makefile.am's to include files, which
the main src/Makefile.am includes. This avoids having to manage a gigantic
single Makefile.

TODO: Move the rules from the old Makefile.include to where they actually
belong and nuke the old file.
2014-06-05 16:05:17 -04:00
Wladimir J. van der Laan 7d4dda7630 Remove global strWalletFile
As it says on the tin. There is no need to have this variable be
global, it's only used in AppInit2.
2014-06-05 14:52:34 +02:00
Wladimir J. van der Laan a92aded70e
Fix GUI build with --disable-wallet
fe6bff2 and 65f78a1 broke it. Minor build changes.
2014-06-05 07:00:16 +02:00
Wladimir J. van der Laan d900ab9e66
Merge pull request #4291
fe6bff2 [Qt] add BerkeleyDB version info to RPCConsole (Philip Kaufmann)
2014-06-05 06:29:11 +02: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
Philip Kaufmann fe6bff2eae [Qt] add BerkeleyDB version info to RPCConsole
- to match info function between debug.log and RPCConsole
2014-06-04 22:00:59 +02:00
Philip Kaufmann 5bd02cf715 log used config file to debug.log on startup 2014-06-04 21:19:22 +02:00
Jeff Garzik b8ac6cdf53 Merge pull request #4282 from jgarzik/fix-wallet-init
CWallet: fix nTimeFirstKey init, by making constructor init common code
2014-06-04 15:00:58 -04:00
Jeff Garzik c79897af31 Merge pull request #4247 from Diapolo/listen
rename fNoListen to fListen and move to net
2014-06-04 15:00:38 -04:00
Wladimir J. van der Laan f0f4904bec
Merge pull request #4258
7b45d94 Make max number of orphan blocks kept in memory a startup parameter (fixes #4253) (shshshsh)
2014-06-04 19:30:44 +02:00
Wladimir J. van der Laan d24310d23a
Merge pull request #4260
aab2c0f Remove template matching params from GetOpName() (Huang Le)
2014-06-04 19:27:03 +02:00
Wladimir J. van der Laan 4a48a0671d
Remove side effect in assertion in ProcessGetData
A side-effect was introduced into an assertion in 7a0e84d. This commit
fixes that.
2014-06-04 16:02:04 +02:00
jtimon f0a83fc256 Use Params().NetworkID() instead of TestNet() from the payment protocol 2014-06-04 15:33:11 +02:00
shshshsh 7b45d943b2 Make max number of orphan blocks kept in memory a startup parameter (fixes #4253) 2014-06-04 11:58:18 +00:00
jtimon 2871889e83 net.h was using std namespace through chainparams.h included in protocol.h 2014-06-04 13:29:36 +02:00
jtimon c8c52de3a0 Replace virtual methods with static attributes, chainparams.h depends on
protocol.h instead of the other way around
2014-06-04 13:29:36 +02:00
jtimon a3d946ebdc Get rid of TestNet() 2014-06-04 13:29:36 +02:00
jtimon 6fc0fa63d9 Add RPCisTestNet chain parameter 2014-06-04 13:29:36 +02:00
jtimon cfeb8235fd Add RequireStandard chain parameter 2014-06-04 13:29:36 +02:00
jtimon 21913a9ac9 Add AllowMinDifficultyBlocks chain parameter 2014-06-04 13:29:36 +02:00
jtimon d754f34e8d Move majority constants to chainparams 2014-06-04 13:29:36 +02:00
jtimon 8d26721498 Get rid of RegTest() 2014-06-04 13:29:35 +02:00
jtimon cb9bd83bba Add DefaultCheckMemPool chain parameter 2014-06-04 13:29:35 +02:00
jtimon 2595b9ac23 Add DefaultMinerThreads chain parameter 2014-06-04 13:29:35 +02:00
jtimon bfa9a1a638 Add MineBlocksOnDemand chain parameter 2014-06-04 13:29:35 +02:00
jtimon 1712adbe0b Add MiningRequiresPeers chain parameter 2014-06-04 13:29:35 +02:00
Kosta Zertsekel 71aaff393f Remove double-dash parameters from mapArgs
Should be merged after pull request #4281
("Add `-version` option to get just the version #4281"),
because is changed "--help" to "-help".

Checked that grep of 'mapArgs.count("--' returned only
three places that are fixed by pull request #4281.
2014-06-04 11:27:15 +03:00
Wladimir J. van der Laan 358a61ee06
Merge pull request #4223
06a91d9 VerifyDB progress (Cozz Lovan)
2014-06-04 09:14:51 +02:00
Andrew Poelstra 4a09e1df51
key.cpp: fail with a friendlier message on missing ssl EC support
Previously if bitcoind is linked with an OpenSSL which is compiled
without EC support, this is seen as an assertion failure "pKey !=
NULL" at key.cpp:134, which occurs after several seconds. It is an
esoteric piece of knowledge to interpret this as "oops, I linked
with the wrong OpenSSL", and because of the delay it may not even
be noticed.

The new output is

: OpenSSL appears to lack support for elliptic curve cryptography. For
more information, visit
https://en.bitcoin.it/wiki/OpenSSL_and_EC_Libraries
: Initialization sanity check failed. Bitcoin Core is shutting down.

which occurs immediately after attempted startup.

This also blocks in an InitSanityCheck() function which currently only
checks for EC support but should eventually do more. See #4081.
2014-06-03 12:09:51 -07:00
Jeff Garzik d04fd3e2af CWallet: fix nTimeFirstKey init, by making constructor init common code
Don't repeat yourself etc.
2014-06-03 12:55:33 -04:00
Cozz Lovan 06a91d9698 VerifyDB progress 2014-06-03 15:21:47 +02:00
Philip Kaufmann bbe1925ce3 [Qt] style police and small addition in rpcconsole
- fix spaces, indentation and coding style glitches
2014-06-03 15:01:50 +02:00
Wladimir J. van der Laan 4c097f9669
Merge pull request #4225
65f78a1 Qt: Add GUI view of peer information. #4133 (Ashley Holman)
2014-06-03 11:13:51 +02:00
Ashley Holman 65f78a111f
Qt: Add GUI view of peer information. #4133 2014-06-03 17:37:34 +09:30
tm314159 91855f279d Properly initialize CWallet::nTimeFirstKey 2014-06-02 11:32:33 -07:00
Wladimir J. van der Laan 73b072252b
Merge pull request #3837
75ebced added many rpc wallet tests (Alon Muroch)
2014-06-02 18:00:37 +02:00
Wladimir J. van der Laan 52d7a54434
Merge pull request #3683
bdc83e8 [Qt] ensure payment request network matches client network (Philip Kaufmann)
2014-06-02 17:59:20 +02:00
Wladimir J. van der Laan 51615e1693
Merge pull request #4213
516053c Make links on 'About Bitcoin Core' into clickable (squashed 5 comits into one) (Tawanda Kembo)
2014-06-02 15:21:42 +02:00
Wladimir J. van der Laan be7d0adcdb
Merge pull request #4238
b90711c [Qt] Fix Transaction details shows wrong To: (Cozz Lovan)
2014-06-02 15:12:12 +02:00
Wladimir J. van der Laan 42d87749eb
Merge pull request #4261
09a54a6 Use pnode->nLastRecv as sync score directly (Huang Le)
2014-06-02 14:25:09 +02:00
Wladimir J. van der Laan ead1f65256
Merge pull request #4268
223a6f7 Fix stray uppercase A in tx_valid.json. (Andreas Schildbach)
2014-06-02 10:54:20 +02:00
Tawanda Kembo 516053c349 Make links on 'About Bitcoin Core' into clickable (squashed 5 comits into one)
Made the following links clickable:
http://www.opensource.org/licenses/mit-license.php
http://www.openssl.org/
eay@cryptsoft.com

(Squashed commits into one commit as suggested by @laanwj)

Replaced label with text browser on About Bitcoin Core Screen

So that the links on the About screen can be clickable

Replaced html property with text property

I have now removed unnecessary html so this should make life easier for
translators and you @Diapolo :). What do you think?

The size of the window needs to change

The size of the window needs to change when you make links clickable.
Thanks  for pointing that out @laanwj

Using the https://www.openssl.org over the http link

Using the https://www.openssl.org over the http link as suggested by
@Diapolo
2014-06-02 09:21:53 +02:00
Wladimir J. van der Laan 11ef78f115
Periodic language update
Pull updated translations from Transifex before 0.9.2
2014-06-01 16:25:22 +02:00
Andreas Schildbach 223a6f7800 Fix stray uppercase A in tx_valid.json. 2014-06-01 15:25:21 +02:00
Wladimir J. van der Laan cc342a3ede
Merge pull request #4257
5823449 Limit number of known addresses per peer (Pieter Wuille)
2014-06-01 09:53:04 +02:00
Philip Kaufmann cb7a3edc3d remove dup of extern int nConnectTimeout; in netbase 2014-05-31 12:04:34 +02:00
Huang Le aab2c0fd7e Remove template matching params from GetOpName()
Since they are not real opcodes, being reported as OP_UNKNOWN is less confusing for human-readable decoding.

Signed-off-by: Huang Le <4tarhl@gmail.com>
2014-05-31 01:23:53 +08:00
Huang Le 09a54a65c0 Use pnode->nLastRecv as sync score directly
NodeSyncScore() should find the node which we recv data most recently, so put a negative sign to pnode->nLastRecv is indeed wrong.

Also change the return value type to int64_t.

Signed-off-by: Huang Le <4tarhl@gmail.com>
2014-05-30 23:44:44 +08:00
Pieter Wuille 5823449e2d Limit number of known addresses per peer 2014-05-30 12:01:53 +02:00
Cory Fields c21c74bec4 osx: Fix missing dock menu with qt5
Qt5 Removed the qt_mac_set_dock_menu function and left no replacement. It was
later re-added and deprecated for backwards-compatibility.

Qt5.2 adds the non-deprecated QMenu::setAsDockMenu(). Use that when possible.
2014-05-29 15:32:24 -04:00
Pieter Wuille b5ef85c7a2 No references to centralized databases in help text. 2014-05-29 18:17:34 +02:00
Philip Kaufmann 53a088154c rename fNoListen to fListen and move to net
- better code readability and it belongs to net
- this is a prerequisite for a pull to add -listen to the GUI
2014-05-29 14:01:39 +02:00
Wladimir J. van der Laan 67f43a99ae
Merge pull request #4132
d4e1c61 add DEFAULT_UPNP constant in net (Philip Kaufmann)
2014-05-29 11:46:28 +02:00
Cozz Lovan 066d9a53c7 [Qt] Fix Start bitcoin on system login 2014-05-29 05:23:37 +02:00
Mathy Vanvoorden d2b82dd7d8
Spelling fix in comment
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 3704a6a
2014-05-28 15:55:22 +02:00
Wladimir J. van der Laan 37634587a7
Merge pull request #4184
122549f Fix incorrect checkpoint data for testnet3 (David Hill)
2014-05-28 10:11:42 +02:00
Cozz Lovan b90711cabf [Qt] Fix Transaction details shows wrong To: 2014-05-28 01:38:40 +02:00
Wladimir J. van der Laan bdc7f1a101
Merge pull request #3861
9ec0306 Add CODESEPARATOR/FindAndDelete() tests (Peter Todd)
2014-05-27 09:41:00 +02:00
Wladimir J. van der Laan 73f7153f43
Merge pull request #4206
79d06dc Remove redundant c_str (R E Broadley)
2014-05-25 16:46:49 +02:00
Wladimir J. van der Laan 0f1040ba52
Merge pull request #4183
f40dbee remove CPubKey::VerifyCompact( ) which is never used (Kamil Domanski)
28b6c1d remove GetMedianTime( ) which is never used (Kamil Domanski)
5bd4adc remove LookupHostNumeric( ) which is never used (Kamil Domanski)
595f691 remove LogException( ) which is never used (Kamil Domanski)
f4057cb remove CTransaction::IsNewerThan which is never used (Kamil Domanski)
0e31e56 remove CWallet::AddReserveKey which is never used (Kamil Domanski)
2014-05-25 16:19:54 +02:00
Cory Fields e9df7f8757 Qt: Fix monospace font in osx 10.9
The "Monospace" hint was added in Qt 4.8, and it works as intended as opposed
to "TypeWriter" which fails to load a font.
2014-05-24 11:13:39 -04:00
Federico Bond cdb36eff9f Fix warning when compiling in OS X 2014-05-23 14:00:14 -03:00
Wladimir J. van der Laan a8a0db6f21
qt: Periodic language update
Last-minute language update before release 0.9.2.
2014-05-23 17:56:07 +02:00
Wladimir J. van der Laan 97b53b581b
Merge pull request #4152
3e8ac6a Replace non-threadsafe gmtime and setlocale (Wladimir J. van der Laan)
a60838d Replace non-threadsafe strerror (Wladimir J. van der Laan)
2014-05-23 15:52:45 +02:00
Wladimir J. van der Laan 3e8ac6af9a
Replace non-threadsafe gmtime and setlocale
Make DateTimeStrFormat use boost::posix_time.

Also re-enable the util_DateTimeStrFormat tests, as they are no
longer platform specific.
2014-05-23 15:23:11 +02:00
Wladimir J. van der Laan 7cdcfa3524
Merge pull request #4212
d90491a Update test_main.cpp (LongShao007)
2014-05-23 11:42:36 +02:00
Wladimir J. van der Laan 1b7bcba1c1
Merge pull request #4166
b641c9c Fix addnode "onetry": Connect with OpenNetworkConnection (Cozz Lovan)
2014-05-23 11:39:18 +02:00
Wladimir J. van der Laan a60838d09a Replace non-threadsafe strerror
Log the name of the error as well as the error code if a network problem
happens. This makes network troubleshooting more convenient.

Use thread-safe strerror_r and the WIN32 equivalent FormatMessage.
2014-05-23 09:45:04 +02:00
LongShao007 d90491a766 Update test_main.cpp
i think should delete (#include "bitcoin-config.h")。
2014-05-22 21:41:59 +08:00
Wladimir J. van der Laan a48355dc44
Remove forward declaration for non-existent class CCoinsDB
Found by stephenreed on #bitcoin.dev.
2014-05-22 13:09:31 +02:00
R E Broadley 79d06dc6e0 Remove redundant c_str 2014-05-22 00:23:03 +07:00
Wladimir J. van der Laan 8cd900711c
Merge pull request #4204
305ccaa Add missing LOCK(cs_main) (Pieter Wuille)
2014-05-21 14:10:51 +02:00
Wladimir J. van der Laan 6fcdad787f
qt: Periodic language update 2014-05-21 12:27:54 +02:00
Pieter Wuille 305ccaa275 Add missing LOCK(cs_main) 2014-05-20 21:45:12 +02:00
Philip Kaufmann d4e1c61212 add DEFAULT_UPNP constant in net
- as this is a shared Core/GUI setting, this makes it easier to keep them
  in sync (also no new includes are needed)
2014-05-20 15:34:19 +02:00
Kamil Domanski f40dbeedde remove CPubKey::VerifyCompact( ) which is never used 2014-05-20 14:58:21 +02:00
Kamil Domanski 28b6c1def5 remove GetMedianTime( ) which is never used 2014-05-20 14:58:21 +02:00
Kamil Domanski 5bd4adca71 remove LookupHostNumeric( ) which is never used 2014-05-20 14:58:21 +02:00
Kamil Domanski 595f691d0a remove LogException( ) which is never used 2014-05-20 14:58:21 +02:00
Kamil Domanski f4057cb749 remove CTransaction::IsNewerThan which is never used 2014-05-20 14:58:21 +02:00
Kamil Domanski 0e31e5631c remove CWallet::AddReserveKey which is never used 2014-05-20 14:58:20 +02:00
Wladimir J. van der Laan 9d97e83bf6
Merge pull request #4197
0b78ba8 Remove fDaemon flag checking on return from main(), which is useless and looks really strange. (Huang Le)
2014-05-20 12:38:27 +02:00
Wladimir J. van der Laan dff9d2f293
Merge pull request #4199
0a59723 Remove extraneous c_str (R E Broadley)
2014-05-20 09:45:40 +02:00
R E Broadley 0a59723ff6 Remove extraneous c_str 2014-05-20 12:31:26 +08:00
Huang Le 0b78ba8ad6 Remove fDaemon flag checking on return from main(), which is useless and looks really strange. 2014-05-20 01:22:33 +08:00
Wladimir J. van der Laan aed38cbcb5
Merge pull request #4173
8c93bf4 LoadBlockIndexDB(): Require block db reindex if any blk*.dat files are missing. (Ashley Holman)
7a0e84d ProcessGetData(): abort if a block file is missing from disk (Ashley Holman)
2014-05-19 17:02:29 +02:00
Wladimir J. van der Laan c26acfc308
Merge pull request #4174
5248ff4 SetupEnvironment() - clean commit (Stuart Cardall)
2014-05-19 15:08:48 +02:00
Roy Badami 7007402956 Implement SI-style (thin space) thoudands separator 2014-05-17 14:49:02 +01:00
David Hill 122549f6de Fix incorrect checkpoint data for testnet3 2014-05-13 16:38:36 -04:00
Stuart Cardall 5248ff4099 SetupEnvironment() - clean commit 2014-05-13 10:15:00 +00:00
Kamil Domanski be54b87f22 remove ParseString(...) which is never used 2014-05-13 12:00:24 +02:00
Kamil Domanski d56e30ca89 removed a few unnecessary casts 2014-05-13 11:42:00 +02:00
Kamil Domanski 3e74ac22d5 json_spirit: #include <stdint.h> 2014-05-13 11:41:59 +02:00
Kamil Domanski 4b61a6a478 switch from boost int types to <stdint.h> 2014-05-13 11:41:59 +02:00
Wladimir J. van der Laan f923c07754 Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost
First query in the current way (intelligently determining which network
has a non-localhost interface). If this does not succeed, try plain
lookup.

Needed for testing.

Fixes #1827 by always allowing IPv6 to be used.
2014-05-13 07:23:23 +02:00
Wladimir J. van der Laan deb3572ab1 Add -rpcbind option to allow binding RPC port on a specific interface
Add -rpcbind command option to specify binding RPC service on one
or multiple specific interfaces.

Functionality if -rpcbind is not specified remains the same as before:

- If no -rpcallowip specified, bind on localhost
- If no -rpcbind specified, bind on any interface

Implements part of #3111.
2014-05-13 07:23:23 +02:00
Wladimir J. van der Laan fa41db8779
Merge pull request #4181
f25e3ad Fix build in OS X 10.9 (Federico Bond)
2014-05-13 07:11:10 +02:00
Wladimir J. van der Laan 795b921dd2
qt: periodic language update
Pull updated translations from Transifex.

Add mn (Mongolian) language.

Do not update English translation for now as we want to keep
compatibility with 0.9.
2014-05-13 07:06:37 +02:00
Federico Bond f25e3adf7d Fix build in OS X 10.9 2014-05-13 01:39:42 -03:00
Wladimir J. van der Laan 53d9709e1c
Merge pull request #4142
cef4494 rpc: keep track of acceptors, and cancel them in StopRPCThreads (Wladimir J. van der Laan)
381b25d doc: remove mention of `-rpctimeout` from man page (Wladimir J. van der Laan)
1a44522 rpc: Make sure conn object is always cleaned up (Wladimir J. van der Laan)
0a0cd34 rpc: pass errors from async_accept (Wladimir J. van der Laan)
2014-05-12 17:51:45 +02:00
Ashley Holman 8c93bf4c28 LoadBlockIndexDB(): Require block db reindex if any blk*.dat files are missing. 2014-05-12 08:09:09 -05:00
Wladimir J. van der Laan c3ad56f4e0
Merge pull request #4138
783b182 Remove dummy PRIszX macros for formatting (Wladimir J. van der Laan)
2014-05-12 14:01:48 +02:00
Wladimir J. van der Laan 68d5fb3cb3
Merge pull request #4165
f6b7c64 Move base58.h implementation code to base58.cpp (Pieter Wuille)
2014-05-12 13:52:03 +02:00
Pieter Wuille cd01a5e185 Enable paranoid corruption checks in LevelDB >= 1.16 2014-05-12 12:52:39 +02:00
Peter Todd 9ec030622f
Add CODESEPARATOR/FindAndDelete() tests 2014-05-12 06:51:41 -04:00
Wladimir J. van der Laan 029f4904d1
Merge pull request #4161
938b689 Squashed 'src/leveldb/' changes from 9094c7f..7924331 (Pieter Wuille)
2014-05-12 11:30:03 +02:00
Wladimir J. van der Laan cef44941e7 rpc: keep track of acceptors, and cancel them in StopRPCThreads
Fixes #4156.

The problem is that the boost::asio::io_service destructor
waits for the acceptors to finish (on windows, and boost 1.55).

Fix this by keeping track of the acceptors and cancelling them before
stopping the event loops.
2014-05-12 09:31:06 +02:00
Wladimir J. van der Laan 1a445225f6 rpc: Make sure conn object is always cleaned up
Make sure conn object always gets cleaned up by using a
`boost::shared_ptr`.

This makes valgrind happy - before this commit, one connection object
always leaked at shutdown, as well as can avoid other leaks, when
for example an exception happens.

Also add an explicit Close() to the !ClientAllowed path to make it similar
to the normal path (I'm not sure whether it is needed, but it
can't hurt).
2014-05-12 09:30:46 +02:00
Wladimir J. van der Laan 0a0cd34552 rpc: pass errors from async_accept
According to the [boost::asio documentation](http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload2.html),
the function signature of the handler must be:

    void handler(
      const boost::system::error_code& error // Result of operation.
    );

We were binding *all* the arguments, instead of all but the error,
resulting in nullary function that never got the error. Fix this
by adding an input argument substitution.
2014-05-12 09:30:46 +02:00
shshshsh 283e405c06 Switch stdout to line buffering
Use line buffering (instead of block buffering) so that messages arrive
immediately in systemd-journald, tail -f debug.log, and the like.
2014-05-11 23:09:21 +00:00
Ashley Holman 7a0e84dd63 ProcessGetData(): abort if a block file is missing from disk 2014-05-11 07:06:26 -05:00
Wladimir J. van der Laan 2653e00b12
Merge pull request #4160
7cd0af7 Move bignum.h to test/ (Pieter Wuille)
ccc84e0 Reduce bignum.h now it is only needed for scriptnum_tests (Pieter Wuille)
2014-05-10 15:32:18 +02:00
Pieter Wuille f6b7c644c9 Move base58.h implementation code to base58.cpp 2014-05-10 00:42:31 +02:00
Cozz Lovan b641c9cd21 Fix addnode "onetry": Connect with OpenNetworkConnection 2014-05-10 00:39:49 +02:00
Matthew Bogosian 90fd87376d fixes #4163 2014-05-09 12:39:24 -07:00
Pieter Wuille aca47d2a24 Merge src/leveldb changes for LevelDB 1.17. 2014-05-09 18:23:34 +02:00
Pieter Wuille 7cd0af7cc2 Move bignum.h to test/ 2014-05-09 17:56:16 +02:00
Pieter Wuille ccc84e0963 Reduce bignum.h now it is only needed for scriptnum_tests 2014-05-09 17:38:44 +02:00
Wladimir J. van der Laan 605d5b5558
Merge pull request #4102
21bf3d2 Add tests for BoostAsioToCNetAddr (Wladimir J. van der Laan)
fdbd707 Remove unused function WildcardMatch (Wladimir J. van der Laan)
ee21912 rpc: Use netmasks instead of wildcards for IP address matching (Wladimir J. van der Laan)
e16be73 net: Add CSubNet class for subnet matching (Wladimir J. van der Laan)
d864275 Use new function parseint32 in SplitHostPort (Wladimir J. van der Laan)
0d4ea1c util: add parseint32 function with strict error reporting (Wladimir J. van der Laan)
2014-05-09 17:26:42 +02:00
Wladimir J. van der Laan 8bcfccbc2d
Merge pull request #4076
397668e Deduplicate uint* comparison operator logic (Pieter Wuille)
df9eb5e Move {Get,Set}Compact from bignum to uint256 (Pieter Wuille)
a703150 Add multiplication and division to uint160/uint256 (Pieter Wuille)
4d480c8 Exception instead of assigning 0 in case of wrong vector length (Pieter Wuille)
eb2cbd7 Deduplicate shared code between uint160 and uint256 (Pieter Wuille)
2014-05-09 17:03:51 +02:00
Wladimir J. van der Laan 82564e21e7
Merge pull request #4134
aa250f0 Remove NumBlocksOfPeers (Wladimir J. van der Laan)
2014-05-09 16:54:07 +02:00
Wladimir J. van der Laan 21bf3d257b Add tests for BoostAsioToCNetAddr 2014-05-09 16:45:57 +02:00
Wladimir J. van der Laan fdbd7075ca Remove unused function WildcardMatch
No longer necessary after implementing netmask-based matching.
Also remove a longer-unused function `skipspaces`.
2014-05-09 16:45:57 +02:00
Wladimir J. van der Laan ee21912510 rpc: Use netmasks instead of wildcards for IP address matching
`-rpcallowip` currently has a wacky wildcard-based format. After this
commit it will accept the more standard format, for example:

- Ranges with netmask 127.0.0.0/255.255.255.0, ::/0
- Ranges with cidr 12.3.4.5/24, 12:34:56:78:9a:bc:de:00/112
- Loose IPs ::1, 127.0.0.1

Trying to use the old *?-based format will result in an error message at
launch.
2014-05-09 16:45:57 +02:00
Wladimir J. van der Laan e16be73753 net: Add CSubNet class for subnet matching 2014-05-09 16:45:57 +02:00
Wladimir J. van der Laan d864275299 Use new function parseint32 in SplitHostPort
Use the new function parseint32 in SplitHostPort instead of calling
strtol directly.
2014-05-09 16:45:57 +02:00
Wladimir J. van der Laan 0d4ea1cf8a util: add parseint32 function with strict error reporting
None of the current integer parsing functions in util
check whether the result is valid and fits in the range
of the type. This is required for less sloppy error reporting.
2014-05-09 16:45:56 +02:00
Pieter Wuille 397668ea63 Deduplicate uint* comparison operator logic 2014-05-09 16:45:00 +02:00
Pieter Wuille df9eb5e14f Move {Get,Set}Compact from bignum to uint256 2014-05-09 16:44:59 +02:00
Pieter Wuille a7031507e6 Add multiplication and division to uint160/uint256 2014-05-09 16:39:48 +02:00
Pieter Wuille 4d480c8a3f Exception instead of assigning 0 in case of wrong vector length 2014-05-09 16:39:48 +02:00
Pieter Wuille eb2cbd754d Deduplicate shared code between uint160 and uint256 2014-05-09 16:39:48 +02:00
Wladimir J. van der Laan e443ed2462
Fix transaction tests
Conflict between low-s (6fd7ef2) and test updates in d3a33fc.
2014-05-09 16:35:30 +02:00
Wladimir J. van der Laan 72f754cf51
Merge pull request #3637
6fd7ef2 Also switch the (unused) verification code to low-s instead of even-s. (Pieter Wuille)
2014-05-09 16:24:57 +02:00
Wladimir J. van der Laan 54f102248b
Merge pull request #3843
787ee0c Check redeemScript size does not exceed 520 byte limit (Peter Todd)
4d79098 Increase IsStandard() scriptSig length (Peter Todd)
f80cffa Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails (Peter Todd)
6380180 Add rejection of non-null CHECKMULTISIG dummy values (Peter Todd)
29c1749 Let tx (in)valid tests use any SCRIPT_VERIFY flag (Peter Todd)
68f7d1d Create (MANDATORY|STANDARD)_SCRIPT_VERIFY_FLAGS constants (Peter Todd)
2014-05-09 16:09:20 +02:00
Wladimir J. van der Laan 1c0319bb2b
Merge pull request #3965
b1fdd54 script: Add test for CScriptNum (Cory Fields)
90320d6 script: add additional script tests (Cory Fields)
05e3ecf script: remove bignum dependency (Cory Fields)
4f497cd script: switch outside users to CScriptNum (Cory Fields)
27bff74 script: switch to CScriptNum usage for scripts (Cory Fields)
48d8eb1 script: add CScriptNum class (Cory Fields)
2014-05-09 16:03:07 +02:00
Wladimir J. van der Laan d54985f3f1
Merge pull request #3884
942b33a Split AcceptBlockHeader from AcceptBlock. (Pieter Wuille)
f457347 Split up CheckBlock in a block and header version (Pieter Wuille)
2014-05-09 16:00:41 +02: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
Wladimir J. van der Laan da257a7b36
Merge pull request #4136
01ce711 [Qt] fix Qt slot problem in receivecoinsdialog (Philip Kaufmann)
2014-05-09 12:31:57 +02:00
Wladimir J. van der Laan 9b4b3cf9cf
qt: fix compile issue in Qt GUI
This was introduced in 3e1cf9b. Needs a cast to qint64.
2014-05-08 12:23:56 +02:00
David A. Harding e0c06d2c49
Typo Fix In decoderawtransaction Help: s/txid/hex/
Help text appears to have been copy/pasted from getrawtransaction,
so it erroneously asked for a txid where rawtransaction hex should appear.

Remove lines which were copy/pasted from getrawtransaction but which
aren't displayed by decoderawtransaction.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 5cc0133 80c521e
Github-Pull: #4106
2014-05-08 11:49:02 +02:00
Wladimir J. van der Laan 0ecd8aae20
Merge pull request #4131
3e1cf9b add DEFAULT_TRANSACTION_FEE constant in wallet (Philip Kaufmann)
2014-05-08 10:48:07 +02:00
Wladimir J. van der Laan 69e264b6f8
Merge pull request #4141
9d558e1 ui: Check for !pixmap() before trying to export QR code (Wladimir J. van der Laan)
2014-05-08 10:32:14 +02:00
Peter Todd 787ee0c913 Check redeemScript size does not exceed 520 byte limit
redeemScripts >520bytes can't be spent due to the
MAX_SCRIPT_ELEMENT_SIZE limit; previously the addmultisigaddress and
createmultisig RPC calls would let you violate that limit unknowingly.

Also made the wallet code itself check the redeemScript prior to adding
it to the wallet, which in the (rare) instance that a user has added an
invalid oversized redeemScript to their wallet causes an error on
startup. The affected key isn't added to the wallet; other keys are
unaffected.
2014-05-08 00:55:01 -04:00
Peter Todd 4d79098ad5 Increase IsStandard() scriptSig length
Removes the limits on number of pubkeys for P2SH CHECKMULTISIG outputs.
Previously with the 500 byte scriptSig limit there were odd restrictions
where even a 1-of-12 P2SH could be spent in a standard transaction(1),
yet multisig scriptPubKey's requiring more signatures quickly ran out of
scriptSig space.

From a "stuff-data-in-the-blockchain" point of view not much has changed
as with the prior commit now only allowing the dummy value to be null
the newly allowed scriptSig space can only be used for signatures. In
any case, just using more outputs is trivial and doesn't cost much.

1) See 779b519480d8c5346de6e635119c7ee772e97ec872240c45e558f582a37b4b73
   Mined by BTC Guild.
2014-05-08 00:55:01 -04:00
Peter Todd f80cffa213 Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails 2014-05-08 00:55:01 -04:00
Peter Todd 6380180821 Add rejection of non-null CHECKMULTISIG dummy values
This is a source of transaction mutability as the dummy value was
previously not checked and could be modified to something other than the
usual OP_0 value.
2014-05-08 00:55:01 -04:00
Philip Kaufmann 4629f95b22
[Qt] fix ugly typo in bitcoin.cpp
Closes #4145.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 1e4b083
2014-05-07 15:48:17 +02:00
Wladimir J. van der Laan a475285a53
Add missing cs_main lock to VerifyDB
Fixes issue #4139.
2014-05-07 15:15:28 +02:00
Wladimir J. van der Laan 9d558e1c18 ui: Check for !pixmap() before trying to export QR code
Adds null pointer checks as well as prevents the Save/Copy context
menu from appearing at all if no image is shown.

Fixes issue #4140
2014-05-07 08:42:12 +02:00
Philip Kaufmann bdc83e8f45 [Qt] ensure payment request network matches client network
- replaces checks in SendCoinsDialog::handlePaymentRequest() that belong
  to PaymentServer (normal URIs are special cased, as only an isValid
  check is done on BTC addresses)
- prevents the client to handle payment requests that do not match the
  clients network and shows an error instead (mainly a problem with
  drag&drop payment requests onto the client window)
- includes some small comment changes also
2014-05-06 21:20:00 +02:00
Wladimir J. van der Laan acc2d2ca5f
Merge pull request #4127
d387b8e rpc: add `getblockchaininfo` and `getnetworkinfo` (Wladimir J. van der Laan)
2014-05-06 16:36:55 +02:00
Wladimir J. van der Laan 783b182c8f Remove dummy PRIszX macros for formatting
Size specifiers are no longer needed now that we use typesafe tinyformat
for string formatting, instead of the system's sprintf.

No functional changes.

This continues the work in #3735.
2014-05-06 15:29:16 +02:00
Philip Kaufmann 01ce711798 [Qt] fix Qt slot problem in receivecoinsdialog
- fixes error from debug.log:
  QMetaObject::connectSlotsByName: No matching signal for
  on_recentRequestsView_selectionChanged(QItemSelection,QItemSelection)
- small style fixes (e.g. alphabetical ordering if includes etc.)
- fixes #3992
2014-05-06 12:52:21 +02:00
Wladimir J. van der Laan b733288d95
qt: periodic translations update 2014-05-06 12:21:26 +02:00
Wladimir J. van der Laan aa250f0453 Remove NumBlocksOfPeers
Generally useless information. Only updates on connect time, not after
that. Peers can easily lie and the median filter is not effective in
preventing that.

In the past it was used for progress display in the GUI but
`CheckPoints::guessVerificationProgress` provides a better way that is now used.
It was too easy to mislead it. Peers do lie about it in practice, see issue #4065.

From the RPC, `getpeerinfo` gives the peer raw values, which are more
useful.
2014-05-06 11:09:19 +02:00
Wladimir J. van der Laan d387b8ec15 rpc: add getblockchaininfo and getnetworkinfo
Adds two new info query commands that take over information from
hodge-podge `getinfo`.

Also some new information is added:
- `getblockchaininfo`
  - `chain`: (string) current chain (main, testnet3, regtest)
  - `verificationprogress: (numeric) estimated verification progress
  - `chainwork`
- `getnetworkinfo`
  - `localaddresses`: (array) local addresses, from mapLocalHost (fixes #1734)
2014-05-06 09:34:54 +02:00
Philip Kaufmann 3e1cf9b6f6 add DEFAULT_TRANSACTION_FEE constant in wallet
- as this is a shared Core/GUI setting, this makes it easier to keep them
  in sync (also no new includes are needed)
2014-05-05 20:54:00 +02:00
Peter Todd 29c17498a5 Let tx (in)valid tests use any SCRIPT_VERIFY flag
Previously only P2SH could be set.
2014-05-05 05:59:59 -04:00
Peter Todd 68f7d1d7af Create (MANDATORY|STANDARD)_SCRIPT_VERIFY_FLAGS constants 2014-05-05 05:35:27 -04:00
Wladimir J. van der Laan d4ffe4e425
Merge pull request #4120
dbe8f75 don't use sed's -i option to stay posix compliant (Fabian Raetz)
2014-05-05 08:58:16 +02:00
Fabian Raetz dbe8f75262 don't use sed's -i option to stay posix compliant
POSIX does not define sed's -i option. To stay as portable
as possible we should not relay on it.
2014-05-02 21:32:12 +02:00
Wladimir J. van der Laan ab4bd3bdbb
Merge pull request #4119
2364b11 reorder includes to compile on OpenBSD (Fabian Raetz)
2014-05-02 21:31:31 +02:00
Fabian Raetz 2364b118f2 reorder includes to compile on OpenBSD
From getifaddr(3) manual:
"If both <net/if.h> and <ifaddrs.h> are being
included, <net/if.h> must be included before <ifaddrs.h>"

http://www.openbsd.org/cgi-bin/man.cgi?query=getifaddrs&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
2014-05-02 20:45:03 +02:00
Wladimir J. van der Laan 1ab62973d3
Merge pull request #4074
d3081fa Removed LevelDB changes (super3)
2014-05-02 20:36:26 +02:00
Wladimir J. van der Laan 3e578aa9b9
Merge pull request #4114
bfb154e Update build instructions for Berkeley DB (Wladimir J. van der Laan)
d0a2e2e Log BerkeleyDB version at startup (Wladimir J. van der Laan)
2014-05-02 18:14:39 +02:00
Philip Kaufmann 2fdd4c7933 better std::exception logging for CAddrDb
- also small logging text changes
2014-05-02 14:35:30 +02:00
Wladimir J. van der Laan 583df73acd
Merge pull request #4110
3a54ad9 Full translation update (Wladimir J. van der Laan)
9dd5d79 devtools: add a script to fetch and postprocess translations (Wladimir J. van der Laan)
58c01a3 qt: add transifex configuration file (Wladimir J. van der Laan)
2014-05-02 11:50:59 +02:00
Wladimir J. van der Laan bf35cae1ae
Merge pull request #4115
e27c411 Remove build-time no-IPv6 setting (Wladimir J. van der Laan)
2014-05-02 10:27:27 +02:00
Wladimir J. van der Laan 83d7dc44ef
Merge pull request #4032
c0e0b05 Bugfix: configure: Look in libx32 subdirectory for boost libraries (Luke Dashjr)
2014-05-02 09:25:52 +02:00
super3 d3081fa231 Removed LevelDB changes
Syntax Highlighting
2014-05-01 12:10:06 -04:00
Wladimir J. van der Laan e27c4110d9 Remove build-time no-IPv6 setting
The year is 2014. All supported operating systems have IPv6 support,
most certainly at build time (this doesn't mean that IPv6 is configured,
of course).

If noone is exercising the functionality to disable it, that means it
doesn't get tested, and IMO it's better to get rid of it.

(it's also not used consistently in RPC/boost and Net code...)
2014-05-01 12:15:36 +02:00
Wladimir J. van der Laan 3a54ad9aba Full translation update
Last update (48be9ce) missed quite a lot, for some reason.

This is also the first update done with the new script
`contrib/devtools/update-translations.py`
2014-05-01 10:16:06 +02:00
Wladimir J. van der Laan d0a2e2eb87 Log BerkeleyDB version at startup
Prints the actual version of BerkeleyDB that is linked against, if
wallet support is enabled.

Useful for troubleshooting.

For example:

    2014-05-01 07:44:02 Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010)

    2014-05-01 07:54:25 Using BerkeleyDB version Berkeley DB 5.1.29: (October 25, 20 11)
2014-05-01 09:56:14 +02:00
Wladimir J. van der Laan d69427a0c4
Merge pull request #4092
40c5b93 [Qt] Optionally add third party links to transaction context menu (Cozz Lovan)
2014-05-01 08:20:11 +02:00
Wladimir J. van der Laan 191b087e0e
Merge pull request #4109
6b29ccc Correct indentation (R E Broadley)
2014-05-01 08:09:20 +02:00
Philip Kaufmann 1cc7f54a8d use standard __func__ instead of __PRETTY_FUNCTION__ 2014-04-30 14:45:24 +02:00
R E Broadley 6b29ccc9f9 Correct indentation 2014-04-30 14:57:11 +08:00
Wladimir J. van der Laan 48be9ceaa0
qt: Periodic translations update
Update English translation from source code, and pull other translations
from Transifex.
2014-04-29 16:02:36 +02:00
Wladimir J. van der Laan c63b2e25a5
Merge pull request #4043
d282c1f [Qt] catch Windows shutdown events while client is running (Philip Kaufmann)
2014-04-27 18:22:12 +02:00
Cozz Lovan 40c5b939f2 [Qt] Optionally add third party links to transaction context menu 2014-04-25 20:01:20 +02:00
Pieter Wuille 942b33a19d Split AcceptBlockHeader from AcceptBlock.
Also modify some connection logic to deal with non-full blocks in the index.
2014-04-25 00:35:58 +02:00
Pieter Wuille f457347053 Split up CheckBlock in a block and header version 2014-04-25 00:33:13 +02:00
Simon de la Rouviere 0caf2b187f Add MESSAGE_START_SIZE from chainparams when loading blocks from external files. 2014-04-24 14:32:11 +02:00
Wladimir J. van der Laan 89bbd54fbf
Merge pull request #4085
b39a07d Add missing AssertLockHeld in ConnectBlock (Wladimir J. van der Laan)
41106a5 qt: get required locks upfront in polling functions (Wladimir J. van der Laan)
ed67100 Add required locks in tests (Wladimir J. van der Laan)
2014-04-23 17:06:28 +02:00
Wladimir J. van der Laan b39a07dc42 Add missing AssertLockHeld in ConnectBlock 2014-04-23 09:07:18 +02:00
Wladimir J. van der Laan 41106a50d2 qt: get required locks upfront in polling functions
This avoids the GUI from getting stuck on
periodical polls if the core is holding the locks for a longer time -
for example, during a wallet rescan.
2014-04-23 09:07:18 +02:00
Wladimir J. van der Laan ed67100565 Add required locks in tests
Unit tests with DEBUG_LOCKORDER were running into assertions.
2014-04-23 08:05:05 +02:00
Cozz Lovan bb1f1c90d6 [Qt] importwallet progress 2014-04-23 01:50:25 +02:00
Wladimir J. van der Laan bbe53f61db
Merge pull request #4042
05c20a5 build: add symbol for upcoming gcc 4.9's libstdc++ (Cory Fields)
49a3352 gitian-linux: --enable-glibc-back-compat (Warren Togami)
d5aab70 build: add an option for enabling glibc back-compat (Cory Fields)
ffc6b67 build: add glibc/libstdc++ back-compat stubs (Cory Fields)
2014-04-22 16:24:43 +02:00
Wladimir J. van der Laan 2bbecc84e2
Merge pull request #4058
55a1db4 Solve chainActive-related locking issues (Wladimir J. van der Laan)
e07c943 Add AssertLockHeld for cs_main to ChainActive-using functions (Wladimir J. van der Laan)
2014-04-22 13:35:37 +02:00
Pieter Wuille b58be132c9 Replace DecodeBase58/EncodeBase58 with direct implementation.
This removes the bignum/OpenSSL dependency.

The base58 transformation code is also moved to a separate .cpp file.
2014-04-22 09:30:21 +02:00
Cory Fields b1fdd5475d script: Add test for CScriptNum
Because this class replaces some usages of CBigNum, tests have been added to
verify that they function the same way. The only difference in their usage is
the handling of out-of-range numbers.

While operands are constrained to [-0x7FFFFFFF,0x7FFFFFFF], the results may
overflow. The overflowing result is technically unbounded, but in practice
it can be no bigger than the result of an operation on two operands. This
implementation limits them to the size of an int64.

CBigNum was unaware of this constraint, so it allowed for unbounded results,
which were then checked before use. CScriptNum asserts if an arithmetic
operation will overflow an int64_t, since scripts are not able to reach those
numbers anyway. Additionally, CScriptNum will throw an exception when
constructed from a vector containing more than 4 bytes This mimics the previous
CastToBigNum behavior.
2014-04-22 00:43:31 -04:00
Cory Fields 90320d6777 script: add additional script tests 2014-04-22 00:32:30 -04:00
Cory Fields 05e3ecffa4 script: remove bignum dependency 2014-04-22 00:32:30 -04:00
Cory Fields 4f497cd97d script: switch outside users to CScriptNum 2014-04-22 00:32:30 -04:00
Cory Fields 27bff74e39 script: switch to CScriptNum usage for scripts 2014-04-22 00:32:30 -04:00
Cory Fields 48d8eb1847 script: add CScriptNum class
This class holds an int64_t and replaces the use of CBigInt for script
integrals.
2014-04-22 00:32:30 -04:00
Wladimir J. van der Laan 8da64ca47e
Merge pull request #4014
4e9667b Improve and expand base58 comments (rxl)
2014-04-19 09:05:42 +02:00
Wladimir J. van der Laan 913e90db9a
Merge pull request #3701
09ec3af AddToWallet implies BindWallet (Wladimir J. van der Laan)
2014-04-19 08:51:40 +02:00
Gregory Maxwell fe451fe944 Merge pull request #4037 from gmaxwell/fdleaks
Prevent socket leak in ThreadSocketHandler.
2014-04-18 15:16:52 -07:00
Wladimir J. van der Laan 55a1db4fa2 Solve chainActive-related locking issues
- In wallet and GUI code LOCK cs_main as well as cs_wallet when
  necessary
- In main.cpp SendMessages move the TRY_LOCK(cs_main) up, to encompass the call
  to IsInitialBlockDownload.
- Make ActivateBestChain, AddToBlockIndex, IsInitialBlockDownload,
  InitBlockIndex acquire the cs_main lock

Fixes #3997
2014-04-18 12:49:41 +02:00
Wladimir J. van der Laan e07c943ce8 Add AssertLockHeld for cs_main to ChainActive-using functions
All functions that use ChainActive but do not aquire the cs_main
lock themselves, need to be called with the cs_main lock held.

This commit adds assertions to all externally callable functions
that use chainActive or chainMostWork.

This will flag usages when built with -DDEBUG_LOCKORDER.
2014-04-17 16:46:01 +02:00
Wladimir J. van der Laan 2f3308f2d2
Translation update 2014-04
Push new English translation, as well as pull other translations that
changed since last month.
2014-04-17 13:47:14 +02:00
Warren Togami 3d20cd5f61 VERSION obtained from source instead of the previous git tag.
Drawback: The version string is no longer a valid git identifier.
          For this reason the 'g' short hash prefix has been removed.

Exception: When building directly from a tag this behaves exactly like the previous behavior.
           This allows formatting release versions with precision     i.e. v0.9.2
           This also allows arbitrary topicbranch names               i.e. v0.9.1-glibc-compat
2014-04-15 21:48:44 -10:00
Philip Kaufmann d282c1fb64 [Qt] catch Windows shutdown events while client is running
- prevents unsafe shutdowns on Windows, which is known to be
  able to cause problems with wallet.dat
- if a users ends a Windows session, this will initiate a client shutdown
  and show a Windows dialog, that tells the user what is going on (for
  Windows Vista and higher it will even show a reason for blocking the
  Windows session end)
2014-04-15 11:57:55 +02:00
Wladimir J. van der Laan 74dd52a9fc
qt: remove de_AT translation
Got too many complaints that is was unserious and written by trolls.
I have also removed the translation from transifex.
Fixes #4054 and #3918.
2014-04-14 14:20:40 +02:00
rxl 4e9667b844 Improve and expand base58 comments
update comments so doxygen will pick them up
2014-04-12 11:36:52 -04:00
Cory Fields 05c20a553a build: add symbol for upcoming gcc 4.9's libstdc++ 2014-04-11 19:02:01 -04:00
Wladimir J. van der Laan 8562179612
Merge pull request #3912
b1b9c76 Fix bloom filter not to use bit_mask (peryaudo)
2014-04-11 15:13:23 +02:00
Cory Fields d5aab70490 build: add an option for enabling glibc back-compat
Using "./configure --enable-glibc-back-compat" will attempt to be
compatible with a target running glibc abi 2.9 and libstdc++ abi 3.4.
2014-04-10 22:28:26 -04:00
Cory Fields ffc6b678b9 build: add glibc/libstdc++ back-compat stubs
glibc/libstdc++ have added new symbols in later releases. When running a new
binary against an older glibc, the run-time linker is unable to resolve the
new symbols and the binary refuses to run.

This can be fixed by adding our own versions of those functions, so that the
build-time linker does not emit undefined symbols for them.

This enables our binary releases to work on older Linux distros, while not
incurring the downsides of a fully static binary.
2014-04-10 22:27:09 -04:00
Gregory Maxwell 0bd05b53b1 Correct some proxy related socket leaks. 2014-04-09 17:09:45 -07:00
Gregory Maxwell d20791b0e5 Prevent socket leak in ThreadSocketHandler.
When we are over our outbound limit ThreadSocketHandler would try to
 keep the connection if the peer was addnoded.

This didn't actually work for two reasons: It didn't actually run
 the accept code due to mistaken code flow, and because we have a
 limited number of outbound semaphores it couldn't actually use the
 connection.

Instead it leaked the socket, which might have caused issue #4034.

This patch just takes out the non-functioning white-listing for now.
2014-04-09 09:30:36 -07:00
Wladimir J. van der Laan 20ecf5c27d
Merge pull request #4024
ab64381 Fix a typo in RPC signrawtransaction help (Hector Jusforgues)
2014-04-09 16:25:24 +02:00
Luke Dashjr c0e0b05aec Bugfix: configure: Look in libx32 subdirectory for boost libraries 2014-04-09 12:59:17 +00:00
Wladimir J. van der Laan 06d1fc6112
Merge pull request #4020
71f82bf Restart-warning for spendZeroConfChange option (langerhans)
2014-04-09 10:34:31 +02:00
Hector Jusforgues ab643811ea Fix a typo in RPC signrawtransaction help 2014-04-08 22:53:41 +07:00
Wladimir J. van der Laan a7101b13f7
Merge pull request #4019
13a2283 build: Sync ax_boost_base.m4 with upstream. (Cory Fields)
2014-04-08 10:24:26 +02:00
langerhans 71f82bf2ab Restart-warning for spendZeroConfChange option
According to the options model, a restart is required after changing this option. So let's notify the user about it.
2014-04-07 19:26:30 +02:00
Cory Fields 13a2283a6d build: Sync ax_boost_base.m4 with upstream.
This should fix 32bit boost detection on Ubuntu Saucy+. Fixes #3945.
2014-04-07 13:19:01 -04:00
Wladimir J. van der Laan 4ae5e72128
Show error message if ReadConfigFile fails
A runaway exception was raised if ReadConfigFile fails (usually
due to a parse error in bitcoin.conf). Show an error message instead.

Fixes #4013.
2014-04-07 10:16:09 +02:00
Wladimir J. van der Laan f4e1c347cf
Merge pull request #3972
fbf617a remove an assignment which is never used. (Yoichi Hirai)
2014-04-07 08:09:42 +02:00
Gregory Maxwell 94c8bfb23b Move assert(pindexNew); to above where we dereference pindexNew. 2014-04-05 22:11:16 -07:00
Wladimir J. van der Laan b12dcb2c9e
Merge pull request #3572
f7257cf unified and better log/error messages for CDBEnv/CDB (Philip Kaufmann)
2014-04-04 14:10:58 +02:00
Wladimir J. van der Laan fecda6853d
Merge pull request #3929
4c35366 Fix importwallet nTimeFirstKey (Cozz Lovan)
2014-04-03 13:50:59 +02:00
Wladimir J. van der Laan 9bd1bdd08c
Merge pull request #3928
3927836 [Qt] rescan progress (Cozz Lovan)
2014-04-03 11:51:02 +02: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
ditto-b 5cfd3a70a6 Edit subsidy_limit_test to account for BIP42
Because no one wants 4 gold mines being discovered every mibillenium.
2014-04-02 18:00:08 -05:00
Cozz Lovan 392783697c [Qt] rescan progress 2014-04-02 03:48:07 +02:00
Wladimir J. van der Laan 397521d632
Merge pull request #3931
f61287c RPC command getmininginfo showing right genproclimit (Isidoro Ghezzi)
2014-04-01 18:11:38 +02:00
Alon Muroch 75ebced499 added many rpc wallet tests
deleted the empty no throw test in rpc_wallet_tests line 65

fixed some comments

starting verify tests

finished verify message tests

changed some comments
2014-04-01 16:08:53 +02:00
Wladimir J. van der Laan e5681a4fa8
Merge pull request #3986
65adc3a qt: Don't require db_cxx.h when wallet disabled (Wladimir J. van der Laan)
4babd08 doc: Add note about memory reqs for compilation (Wladimir J. van der Laan)
25333a2 build: improve missing boost error reporting (Wladimir J. van der Laan)
2014-04-01 15:48:50 +02:00
Philip Kaufmann d34b958406 [Qt] small cleanup of coincontroldialog
- use a little more Qt-style
- check for NULL pointers first and return in updateView()
- small space and formating changes
2014-04-01 10:11:18 +02:00
Philip Kaufmann f7257cfbd9 unified and better log/error messages for CDBEnv/CDB 2014-04-01 09:41:49 +02:00
Manuel Araoz 81bfb5aebf add checks for deserialization errors 2014-03-31 15:07:46 -03:00
Manuel Araoz 232aa9e034 Add code generating data/sighash.json test data 2014-03-31 12:39:32 -03:00
Manuel Araoz 43cb41859e Add sighash tests from data file 2014-03-31 11:19:19 -03:00
paveljanik db3a5e4151
Use the new name Bitcoin Core Daemon instead of Bitcoin server
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From-Github-Pull: #3801
2014-03-31 12:05:16 +02:00
Brandon Dahler 2b7709dc84
Wrap create_directory calls in try...catch blocks.
Ignores any exceptions thrown if directory exists, otherwise re-throws exception.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-03-31 09:51:58 +02:00
Wladimir J. van der Laan e3e3728f46
Fix typo in createmultisig help
iCreateMultisig is not a thing.
2014-03-31 09:04:51 +02:00
Wladimir J. van der Laan b86ed6ff23
Merge pull request #3969
ffeb473 Add nHighTransactionFeeWarning as per #3969. (Bardi Harborow)
2014-03-31 09:01:16 +02:00
Wladimir J. van der Laan ab88ed93ef Organize RPCCommands table
Use sensible categories (overall control, P2P, blockchain/UTXO and
mining, wallet, wallet-enabled mining) and sort within each.

Also remove unnecessary #ifdef ENABLE_WALLET from `rpcnet.cpp`.

Functionality-neutral change.
2014-03-31 08:41:45 +02:00
Wladimir J. van der Laan 65adc3a893 qt: Don't require db_cxx.h when wallet disabled
Fix #3978.
2014-03-31 06:13:40 +02:00
Wladimir J. van der Laan 25333a2619 build: improve missing boost error reporting 2014-03-31 05:24:45 +02:00
Wladimir J. van der Laan 09b9c2fcd5
Merge pull request #3980
af4c2ac Fix `-printblocktree` output (Wladimir J. van der Laan)
2014-03-31 04:47:32 +02:00
Wladimir J. van der Laan 8adb7bca21
Merge pull request #3875
89d72f3 Add new DNS seed from bitnodes.io. (Addy Yeow)
2014-03-29 19:38:23 +01:00
Wladimir J. van der Laan af4c2ac8ce Fix -printblocktree output
PrintBlockTree output was broken starting from e010af70.
Everything appears on one line.

PrintWallet() added the newline after a block, but this functionality
was removed and no newline was added.

Seemingly, no one noticed. Add a newline after the block information
to fix this.
2014-03-29 16:25:47 +01:00
Bardi Harborow ffeb47366d Add nHighTransactionFeeWarning as per #3969. 2014-03-29 05:17:28 -04:00
Wladimir J. van der Laan 55027a8c85
Merge pull request #3973
a60ab0b Make GetAvailableCredit run GetHash() only once per transaction. (Gregory Maxwell)
2014-03-29 09:35:11 +01:00
Wladimir J. van der Laan e9d2e6ed90
Merge pull request #3922
c17f0a5 [Qt] remove space from translation of client bitness (Philip Kaufmann)
2014-03-29 06:03:08 +01:00
Gregory Maxwell a60ab0ba89 Make GetAvailableCredit run GetHash() only once per transaction.
This makes the first getbalance/getinfo 63x faster on my wallet.
2014-03-28 09:58:40 -07:00
Yoichi Hirai fbf617a5f1 remove an assignment which is never used. 2014-03-28 20:22:00 +09:00
Wladimir J. van der Laan acac57b8af
Merge pull request #3730
1d46fe3 'sendrawtransaction' improvements (Wladimir J. van der Laan)
2014-03-28 09:53:49 +01:00
Wladimir J. van der Laan e33cc87212
Merge pull request #3698
5409404 add constant for shared (GUI/core) -par settings (Philip Kaufmann)
2014-03-27 13:02:24 +01:00
Wladimir J. van der Laan 1d46fe3327 'sendrawtransaction' improvements
- Make it report the reject code and reason
- Make it possible to re-send transactions that are already in the mempool
2014-03-27 12:33:55 +01:00
Philip Kaufmann 5409404d75 add constant for shared (GUI/core) -par settings
- introduce DEFAULT_SCRIPTCHECK_THREADS in main.h
- only show values from -"MAX_HW_THREADS" up to 16 for -par, as it
  makes no sense to try to leave more "cores free" than the system
  supports anyway
- use the new constant in optionsdialog and remove defaults from
  .ui file
2014-03-27 11:54:13 +01:00
Wladimir J. van der Laan ebb783a9f2
Merge pull request #3603
a486abd replace custom GetFilesize() with boost::filesystem::file_size() (Philip Kaufmann)
2014-03-27 11:38:34 +01:00
Wladimir J. van der Laan 77eaa6fc45
Merge pull request #3682
3e0753b always show syncnode in getpeerinfo (fixes #2717) (Philip Kaufmann)
2014-03-27 11:20:49 +01:00
Wladimir J. van der Laan 410c2fa317
Merge pull request #3619
7398f4a improve command-line options output (Cozz Lovan)
2014-03-27 11:07:37 +01:00
Philip Kaufmann cfe4cad9e5 [Qt] fix style, formating, comment and indentation problems
- introduced by #3920
2014-03-27 09:22:15 +01:00
Wladimir J. van der Laan 47ef190637
Merge pull request #3958
dfd3996 Remove duplicate from src/makefile.am (Wladimir J. van der Laan)
2014-03-26 12:03:54 +01:00
Wladimir J. van der Laan 95f0af5cb1
Merge pull request #3951
3cb1edb Update moved and dead links (Luke Dashjr)
2014-03-26 10:44:47 +01:00
Wladimir J. van der Laan dfd3996217 Remove duplicate from src/makefile.am
chainparams.cpp should not be in both libbitcoin_common and
libbitcoin_server. Also re-sort the sources list.
2014-03-26 10:22:01 +01:00
Cozz Lovan 7398f4a796 improve command-line options output 2014-03-25 13:09:20 +01:00
Wladimir J. van der Laan c61fe44194 qt: Only override -datadir if different from the default
Fixes #3905.
2014-03-25 09:26:11 +01:00
Wladimir J. van der Laan 7e591c19e7 qt: Do proper boost::path conversion
Convert from QString unicode from/to the OS-dependent locale
as used by boost::filesystem::path as needed.

Solves #3916.
2014-03-25 09:20:10 +01:00
Wladimir J. van der Laan e3f5d4338d
Fix test build after d138598
Building the tests was giving some vague error message about a doubly-defined
symbol.

The solution is to define ShutdownRequested in test_bitcoin.cpp as well
so that init.cpp does not get pulled in.
2014-03-25 07:54:53 +01:00
Luke Dashjr 3cb1edbfb6 Update moved and dead links 2014-03-24 20:26:02 +00: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
Wladimir J. van der Laan d3c3210fa3
Merge pull request #3927
ab1edd4 [Qt] Fix enable/disable show and remove buttons (Cozz Lovan)
2014-03-23 11:28:52 +01:00
Isidoro Ghezzi f61287c9b1 RPC command getmininginfo showing right genproclimit 2014-03-22 15:03:06 +01:00