Pieter Wuille
b28d8b423b
Merge leveldb subtree change.
...
* On Mac OS X fsync does not guarantee write to disk. Use fcntl F_FULLFSYNC instead.
2013-08-20 15:13:34 +02:00
Peter Todd
4eecdcacaf
Add MurmurHash3() unit test
...
Useful as a source of test vectors to anyone re-implementing bloom
filters.
2013-08-20 07:30:39 -04:00
Gregory Maxwell
37c6389c5a
Performance optimization for bloom filters.
...
This reduces a peer's ability to attack network resources by
using a full bloom filter, but without reducing the usability
of bloom filters. It sets a default match everything filter
for peers and it generalizes a prior optimization to
cover more cases.
2013-08-20 02:27:26 -07:00
Gavin Andresen
bb237705d0
Checkpoint at block 250,000
2013-08-20 17:30:33 +10:00
phelixbtc
d1862bf309
makefile.mingw: Fix Win32 RPC Crashes.
...
8864019f6d
2013-08-19 17:19:08 +02:00
Pieter Wuille
4a9a8f3f48
Merge commit '84d6d69fc69662b2709fffbeaf3c3b4f53c535b1'
2013-08-18 00:58:04 +02:00
Gavin Andresen
317f57ec87
Merge pull request #2903 from Michagogo/listsinceblock-help
...
Clarified the listsinceblock help test
2013-08-15 20:34:00 -07:00
Gavin Andresen
31b28082fe
Merge pull request #2891 from gavinandresen/leveldb_printerror
...
Use HandleError() consistently to handle leveldb errors
2013-08-15 19:02:32 -07:00
Gavin Andresen
3f20f82209
Merge pull request #2880 from gavinandresen/test_numequal
...
More unit tests for OP_NUMEQUAL
2013-08-15 18:53:49 -07:00
Gavin Andresen
a0bb001431
Merge pull request #2886 from gavinandresen/rpctiming
...
Make RPC password resistant to timing attacks
2013-08-15 18:53:26 -07:00
Gavin Andresen
9be4cff5f6
Merge pull request #2876 from sipa/fixreorgcrash
...
Fix reorganization crash
2013-08-15 18:51:06 -07:00
Gregory Maxwell
47491a90b6
Merge pull request #2131 from sipa/evens
...
Only create signatures with even S, and verification mode to check.
2013-08-15 18:42:28 -07:00
Gavin Andresen
13d3b1c144
Merge pull request #2829 from sipa/bip32
...
BIP 32 derivation + test vectors
2013-08-15 16:40:03 -07:00
Pieter Wuille
a81cd96805
Only create signatures with even S, and verification mode to check.
...
To fix a minor malleability found by Sergio Lerner (reported here:
https://bitcointalk.org/index.php?topic=8392.msg1245898#msg1245898 )
The problem is that if (R,S) is a valid ECDSA signature for a given
message and public key, (R,-S) is also valid. Modulo N (the order
of the secp256k1 curve), this means that both (R,S) and (R,N-S) are
valid. Given that N is odd, S and N-S have a different lowest bit.
We solve the problem by forcing signatures to have an even S value,
excluding one of the alternatives.
This commit just changes the signing code to always produce even S
values, and adds a verification mode to check it. This code is not
enabled anywhere yet. Existing tests in key_tests.cpp verify that
the produced signatures are still valid.
2013-08-16 00:17:50 +02:00
Pieter Wuille
2461aba1ac
Mempool consistency check
2013-08-15 23:55:35 +02:00
Pieter Wuille
f0784ac470
Fix non-standard disconnected transactions causing mempool orphans
2013-08-15 23:53:55 +02:00
Micha
9afe5a2c32
Clarified the listsinceblock help test
...
Specifically, the fact that the command
relates to wallet transactions.
2013-08-16 00:15:39 +03:00
Gavin Andresen
4323bfeafd
Merge pull request #2776 from jgarzik/keypoolsize
...
RPC: keypoolrefill now permits optional size parameter, to bump keypool
2013-08-14 22:01:22 -07:00
Gavin Andresen
8fa9b5cc45
Merge pull request #2658 from TheBlueMatt/forkalert
...
Detect any sufficiently long fork and alert the user just like any other alert
2013-08-12 23:33:40 -07:00
Roman Mindalev
2b6a8993fb
Add missing 0x prefix in chainparams.cpp
2013-08-12 18:28:23 +04:00
Gavin Andresen
b35e993200
Use HandleError() consistently to handle leveldb errors
2013-08-12 18:06:17 +10:00
Cozz Lovan
c7fa1a3586
do not call BuildMerkleTree() unnecessarily twice
2013-08-10 15:27:25 +02:00
Gavin Andresen
42656ea2e5
Make RPC password resistant to timing attacks
...
Fixes issue#2838; this is a tweaked version of pull#2845 that
should not leak the length of the password and is more generic,
in case we run into other situations where we need
timing-attack-resistant comparisons.
2013-08-08 19:58:57 +10:00
Gavin Andresen
6cc766fa55
Merge pull request #2856 from Diapolo/crypter_headers
...
remove windows.h from crypter.cpp includes
2013-08-08 02:16:56 -07:00
Gavin Andresen
9d23db58c1
Merge pull request #2883 from codler/patch-5
...
Replace with existing constants
2013-08-07 04:44:57 -07:00
Han Lin Yap
1511769239
Use existing RPC_INVALID_PARAMETER constant
2013-08-07 10:14:33 +02:00
Gavin Andresen
ddd0e2f616
Merge pull request #2871 from gavinandresen/simplify_maporphan
...
Simplify storage of orphan transactions, fix CVE-2013-4627
2013-08-06 17:11:48 -07:00
Philip Kaufmann
265e2657b4
remove a newline from a string in init.cpp
...
- to match all other translatable strings in init.cpp and to simplify
translations via Transifex
2013-08-06 10:28:52 +02:00
Gavin Andresen
bdd34642dc
More unit tests for NUMEQUAL
2013-08-06 16:06:07 +10:00
Wladimir J. van der Laan
e07d9f77e9
Merge pull request #2879 from Diapolo/translations
...
translations update for Transifex 2013-08-05
2013-08-05 03:34:55 -07:00
Philip Kaufmann
0f1c8f23eb
translations update for Transifex 2013-08-05
2013-08-05 11:06:45 +02:00
Gavin Andresen
ae759b3788
Merge pull request #2849 from petertodd/if-else-else
...
Add unittests for multiple ELSEs in a row
2013-08-05 01:53:57 -07:00
Gavin Andresen
15047f5af0
Merge pull request #2851 from TheBlueMatt/master
...
Prepare for mempool testing in pull-tester and fix multi-block transaction resurrection
2013-08-05 01:53:17 -07:00
Gavin Andresen
2af267c150
Merge pull request #2857 from Diapolo/compat_cleanup
...
cleanup compat.h Windows stuff
2013-08-05 01:48:35 -07:00
Gavin Andresen
e622f3f195
Merge pull request #2855 from Diapolo/guard_CreatePidFile
...
exclude CreatePidFile() function on WIN32 as it is unused
2013-08-05 01:05:59 -07:00
Gavin Andresen
a4ae02969e
Merge pull request #2827 from Diapolo/rpccon_winpos
...
Bitcoin-Qt: save and restore position of debug window
2013-08-05 00:58:05 -07:00
Gavin Andresen
d687aaa311
Merge pull request #2865 from Diapolo/fix_intro_translation
...
fix string in intro.cpp, which is untranslatable on Transifex
2013-08-05 00:24:49 -07:00
Gavin Andresen
159bc48193
Simplify storage of orphan transactions
...
Orphan transactions were stored as a CDataStream pointer;
this changes the mapOrphanTransactions data structures to
store orphans as a CTransaction.
This also fixes CVE-2013-4627 by always re-serializing
transactions before relaying them.
2013-08-02 16:10:25 +10:00
Gavin Andresen
8f6f92c72b
Revert "Truncate oversize 'tx' messages before relaying/storing."
...
This reverts commit c40a5aaaf4
.
2013-08-02 15:50:04 +10:00
Wladimir J. van der Laan
6d89611c3a
Merge pull request #2850 from Diapolo/fix_intro
...
fix possible infinite loop in intro.cpp thread
2013-07-31 22:15:05 -07:00
Jeff Garzik
d247a5d130
Move internal miner/block creation to separate miner.cpp module.
...
Public functions referenced elsewhere are added to miner.h.
2013-07-31 09:43:35 -04:00
Jeff Garzik
18946846d5
Minor miner fixes (hey hey it's fun to say)
...
* Fix UpdateCoins() definition in main.h
* Remove pwalletMain reference from BitcoinMiner(), as it is passed
a wallet argument.
2013-07-31 08:45:49 -04:00
Gavin Andresen
050d2e953f
Remove #define loop from util.h
...
Replace the loop macro with while (true). The #define caused
problems for Qt.
2013-07-31 14:06:44 +10:00
Philip Kaufmann
bef9f573b5
fix string in intro.cpp, which is untranslatable on Transifex
...
- seems the code tags in the original string cause errors, when using the
Transifex site for translation
2013-07-29 16:56:03 +02:00
Philip Kaufmann
c431e9f1f0
Bitcoin-Qt: save and restore position of debug window
...
- move the code for saving and restoring window positions from BitcoinGUI
to GUIUtil, make it more generic and also use it for saving/restoring
debug window positions
2013-07-29 16:22:46 +02:00
Pieter Wuille
c4316fefa5
Make sure new wallet variables are initialized
2013-07-29 02:34:01 +02:00
Pieter Wuille
4bb77b4963
Merge pull request #2541 from luke-jr/bugfix_wallet_resend
...
Bugfix: Store last/next wallet resend times unique per CWallet object
2013-07-28 17:21:21 -07:00
Pieter Wuille
83a3597071
Merge pull request #2702 from vinniefalco/leveldb-subtree-at-1-10-0
...
Leveldb subtree at 1 12 0
2013-07-28 03:57:17 -07:00
Philip Kaufmann
5bc6d8e580
fix possible infinite loop in intro.cpp thread
...
- it was possible to trigger an infinite loop in FreespaceChecker::check() by
simply removing the drive letter on Windows (which leads to an infinite
loop in the FreespaceChecker thread)
- this was caused by not checking if we make progress with
parentDir.parent_path()
2013-07-26 09:17:24 +02:00
Wladimir J. van der Laan
2b894bceac
Merge pull request #2847 from Diapolo/fix_QApplication_include
...
Bitcoin-Qt: fix QApplication includes to match our include defaults
2013-07-25 22:42:16 -07:00
Wladimir J. van der Laan
7d3a50ddbe
Merge pull request #2848 from Diapolo/translations
...
update bitcoin_en.ts to current master (2013-07-23)
2013-07-25 22:41:51 -07:00
Gavin Andresen
5e67e124cf
Merge pull request #1889 from tcatm/multi-wallet
...
let user select wallet file with -wallet=foo.dat
2013-07-24 22:52:21 -07:00
Philip Kaufmann
852605d8d1
remove windows.h from crypter.cpp includes
...
- remove an unneeded windows.h include (comes from allocators.h, which is
included in crypter.h)
2013-07-24 22:35:44 +02:00
Philip Kaufmann
dd833a4cd8
cleanup compat.h Windows stuff
...
- remove an unneded include for mswsock.h as we use winsock2.h anyway
- move typedef u_int SOCKET; into the #ifndef WIN32 part
- remove typedef int socklen_t; as this is defined in ws2tcpip.h
2013-07-24 16:24:38 +02:00
Philip Kaufmann
a034c7ebb6
exclude CreatePidFile() function on WIN32 as it is unused
2013-07-24 09:30:09 +02:00
Peter Todd
1b3656d50b
Add 'chainwork' to getblock
...
Returns nChainWork from the block index, the total work done by all
blocks since the genesis block.
2013-07-24 01:58:23 -04:00
Matt Corallo
9bf2a4aba2
Fix multi-block reorg transaction resurrection
2013-07-23 18:02:27 +02:00
Matt Corallo
d9ace8abe8
Don't use checkpoints and accept nonstd txn on -regtest
2013-07-23 18:02:26 +02:00
Peter Todd
aff83e9c02
Add unittests for multiple ELSEs in a row
...
IF ELSE ELSE ENDIF is a valid construct; execution or non-execution
inverts on each ELSE encountered.
2013-07-23 05:12:38 -04:00
Philip Kaufmann
3960d2e4ab
update bitcoin_en.ts to current master (2013-07-23)
2013-07-23 09:10:57 +02:00
Philip Kaufmann
84ef729aa1
Bitcoin-Qt: fix QApplication includes to match our include defaults
...
- move all QApplication includes to top of included Qt headers
- undef our loop macro where it would cause compilation errors otherwise
2013-07-23 08:52:24 +02:00
Jeff Garzik
0a740650a5
Merge pull request #2795 from fanquake/log_aborted_rebuilds
...
Log aborted block database rebuilds
2013-07-22 08:32:59 -07:00
Jeff Garzik
0cb6d67e46
Merge pull request #2832 from luke-jr/bugfix_wdb_boostver
...
Bugfix: Move boost/version include from db.cpp to walletdb.cpp where BOOST_VERSION is used
2013-07-22 08:08:27 -07:00
Jeff Garzik
6c6255edb5
Merge pull request #2826 from Diapolo/fix_mingw481
...
fix invalid conversion error with MinGW 4.8.1 in net.cpp
2013-07-22 08:05:05 -07:00
Jeff Garzik
ac6561322f
Merge pull request #2836 from phelixbtc/patch-3
...
makefile.mingw: Use normal boost libraries instead of debug for Windows
2013-07-22 08:02:53 -07:00
Matt Corallo
f65e7092a2
Better warning/"alert" messages for large-work forks.
2013-07-22 12:12:45 +02:00
Matt Corallo
f89faa2584
Call the -alertnotify script when we see a long or invalid fork.
2013-07-22 12:11:46 +02:00
Matt Corallo
b8585384da
Detect any sufficiently long fork and add a warning.
...
Such a fork is defined as being at least 7 blocks long and
having a tip which is within 72 blocks of our best block.
2013-07-22 12:10:57 +02:00
Luke Dashjr
dabd4bd48e
Bugfix: Include block creation and SSL options headings in usage
2013-07-21 16:13:00 +00:00
phelixbtc
eda7605dfe
makefile.mingw: Use normal boost libraries instead of debug for Windows
...
https://github.com/bitcoin/bitcoin/pull/2835#issuecomment-21231694
2013-07-19 10:20:13 +02:00
Wladimir J. van der Laan
4eab2dcc81
Merge pull request #2670 from laanwj/2013_05_datadir
...
qt: allow user to choose data directory
2013-07-18 22:42:50 -07:00
fcicq
98148a713e
Fix fcntl include in net.cpp & netbase.cpp
2013-07-17 16:51:40 +08:00
fcicq
b34255b758
Ignore SIGPIPE signal on Solaris
2013-07-17 16:50:51 +08:00
fcicq
9371403993
Add missing constant for solaris
2013-07-17 16:50:51 +08:00
fcicq
c391f9a47b
Fix boost uint type bug by reordering the includes
2013-07-17 16:50:51 +08:00
fcicq
eb8397a03e
Disable variadic template support in C++11
2013-07-17 16:50:44 +08:00
Luke Dashjr
203d1ae69b
Bugfix: Store last/next wallet resend times unique per CWallet object
2013-07-17 03:00:59 +00:00
Luke Dashjr
d4e2b040ed
Bugfix: Move boost/version include from db.cpp to walletdb.cpp where BOOST_VERSION is used
2013-07-15 22:16:42 +00:00
Pieter Wuille
a59db19ee3
BIP32 test vectors
2013-07-15 01:07:19 +02:00
Pieter Wuille
eb2c999050
BIP32 derivation implementation
2013-07-15 01:05:25 +02:00
Philip Kaufmann
b3e0aaf36e
fix invalid conversion error with MinGW 4.8.1 in net.cpp
...
- fixes src\net.cpp:1601: Error:invalid conversion from 'void*' to
'const char*' [-fpermissive] in a setsockopt() call on Win32 that was
found by using MinGW 4.8.1 compiler suite
2013-07-13 13:05:04 +02:00
Pieter Wuille
fb83a79b21
Fix minor backward incompatibility
...
The key refactor changed the way unencrypted private keys with compressed
public key are stored in the wallet. Apparently older versions relied on
this to verify the correctness of stored keys.
Note that earlier pre-release versions do risk creating wallets that can
not be opened by 0.8.3 and earlier.
2013-07-13 12:57:19 +02:00
Jeff Garzik
d598872726
Merge pull request #2743 from jgarzik/reject-reason
...
Log reason for non-standard transaction rejection
2013-07-10 08:50:49 -07:00
Jeff Garzik
3b837d5679
Merge pull request #2812 from jgarzik/rpcbestblock
...
RPC: add getbestblockhash, to return tip of best chain
2013-07-10 08:49:50 -07:00
Pieter Wuille
ec84e81e83
Prune provably-unspendable outputs
2013-07-10 00:23:46 +02:00
Gregory Maxwell
204b8af6dc
Merge pull request #2796 from gmaxwell/remove_overactive_rand_tests
...
Make the rand tests determinstic.
2013-07-07 10:09:03 -07:00
Gregory Maxwell
e5c4dfdfc0
Make the rand tests determinstic. ( fixes #2714 )
...
This avoids spurious errors with the old tests but still tests
enough that if the rng is replaced with a totally broken one
it should still fail.
2013-07-07 09:54:47 -07:00
Nils Schneider
674cb304b3
let user select wallet file with -wallet=foo.dat
...
use std::string instead of psz for WalletFile
only allow wallets within $DATADIR
Use strWalletFile in salvage/recover
fix: remove unused variable pszWalletFile
move strWalletFile to init.h/init.cpp
avoid conversion of strWalletfile to c-string
2013-07-04 17:19:36 +02:00
Jeff Garzik
091aa8dae9
RPC: add getbestblockhash, to return tip of best chain
2013-07-03 11:02:29 -04:00
Vinnie Falco
fb1da62318
Merge commit 'adae78ea9940f4d44382967d1296e7db0b54a4de' into leveldb-squashed
2013-07-01 08:36:32 -07:00
Pieter Wuille
21cc8bdcbe
Fix build date for from-tarball builds
2013-06-29 14:16:50 +02:00
Pieter Wuille
a4f43075d6
Merge pull request #2793 from Diapolo/translations
...
translation update 2013-06-25
2013-06-26 15:02:28 -07:00
Pieter Wuille
1f2d739ac1
Merge pull request #2174 from CodeShark/sync_macro_clarification
...
Added comments to sync.h to make it easier to understand the macros
2013-06-26 10:51:33 -07:00
Eric Lombrozo
042da8bc0d
Added comments to sync.h to make it easier to understand the macros
2013-06-25 16:54:58 -07:00
Pieter Wuille
4ad73c6b08
Merge pull request #2209 from CodeShark/WalletRegistrationLocks
...
Wallet registration locks in main.cpp + UnregisterAllWallet() function
2013-06-25 16:33:16 -07:00
Jeff Garzik
36bd46f1c4
RPC: keypoolrefill gains optional size parameter
2013-06-25 16:21:42 -04:00
Jeff Garzik
13dd2d090e
CWallet::TopUpKeyPool() takes optional pool size argument
...
Also, GetKeyPoolSize() now returns an accurate type, unsigned int.
2013-06-25 16:07:29 -04:00
Jeff Garzik
481d899794
Merge pull request #2792 from sipa/coreimpl
...
Move core implementations to core.cpp
2013-06-25 11:52:18 -07:00
Michael Ford
664aeb2871
Log aborted block database rebuilds
2013-06-25 23:54:17 +08:00
Peter Todd
c40a5aaaf4
Truncate oversize 'tx' messages before relaying/storing.
...
Fixes a memory exhaustion attack on low-memory peers.
2013-06-25 10:37:50 -04:00
Gavin Andresen
2e01ec3207
Merge pull request #2679 from vhf/patch-1
...
Too many bitcoins allowed as amount. (Issue #2401 )
2013-06-25 06:47:53 -07:00
Philip Kaufmann
dae158132d
translation update 2013-06-25
...
- updates bitcoinstrings.cpp and bitcoin_en.ts so new translations can be
made on Transifex
2013-06-25 11:31:29 +02:00
Pieter Wuille
f121db58e4
Move core implementations to core.cpp
2013-06-25 10:33:29 +02:00
Eric Lombrozo
e6fe8e77fb
Calling UnregisterAllWallets() instead of UnregisterWallet(pwalletMain) in init.cpp
2013-06-24 09:33:15 -07:00
Eric Lombrozo
e5cefb9be1
Added locks on the setpwalletRegistered functions in main.cpp and added an UnregisterAllWallets function.
2013-06-24 09:25:23 -07:00
Jeff Garzik
79f6925fac
main.h->core.h include dependency improvements.
2013-06-24 10:41:16 -04:00
Jeff Garzik
396485b14d
Merge pull request #2789 from sipa/overdump
...
Dump addresses every 15 minutes instead of 10 seconds
2013-06-24 07:32:20 -07:00
Pieter Wuille
c43da3f183
Dump addresses every 15 minutes instead of 10 seconds
2013-06-24 11:48:14 +02:00
Eric Lombrozo
33944573ca
Moved CBlock from main.h to core.h
2013-06-23 19:59:35 -07:00
Eric Lombrozo
2a4d3464fd
Pulled AcceptBlock out of CBlock.
2013-06-23 19:59:35 -07:00
Eric Lombrozo
38991ffa8a
Pulled CheckBlock out of CBlock.
2013-06-23 19:59:35 -07:00
Eric Lombrozo
1959997afb
Pulled AddToBlockIndex out of CBlock.
2013-06-23 19:59:35 -07:00
Eric Lombrozo
f3ae51dcce
Pulled ConnectBlock out of CBlock.
2013-06-23 19:59:35 -07:00
Eric Lombrozo
5c363ed622
Pulled DisconnectBlock out of CBlock.
2013-06-23 19:59:34 -07:00
Eric Lombrozo
8031399494
Moved ReadBlockFromDisk implementation to main.cpp
2013-06-23 19:59:34 -07:00
Eric Lombrozo
7db120d531
Moved CBlock::ReadFromDisk out of CBlock to functions ReadBlockFromDisk in main.h
2013-06-23 19:59:34 -07:00
Eric Lombrozo
226f821942
Moved WriteBlockToDisk implementation from main.h to main.cpp
2013-06-23 19:59:32 -07:00
Eric Lombrozo
a6dba0fdb2
Moved CBlock::WriteToDisk out of CBlock to inline function WriteBlockToDisk in main.h
2013-06-23 19:58:23 -07:00
Pieter Wuille
8388289eb6
Generalize version bytes
2013-06-24 00:56:46 +02:00
Pieter Wuille
12dff9801f
Add HMAC-SHA512 to hash
2013-06-24 00:56:45 +02:00
Pieter Wuille
fd967fed89
Merge pull request #2783 from sipa/newtxindex
...
Initialize database before checking changed txindex
2013-06-23 15:49:08 -07:00
Pieter Wuille
ee4949794b
Merge pull request #2592 from sipa/dumpwallet
...
Add dumpwallet and importwallet RPC commands
2013-06-23 12:10:17 -07:00
Philip Kaufmann
336a53ddbc
fix makefiles and init.cpp after chainparams merge
...
- add missing chainparams.o to some makefiles
- remove a double-include of chainparams.h in init.cpp
2013-06-23 17:39:39 +02:00
Jeff Garzik
4be2aba302
Merge pull request #2778 from jgarzik/rpc-verifydb
...
RPC: add 'verifychain' to verify chain database at runtime
2013-06-22 23:08:13 -07:00
Jeff Garzik
980bfe6ef8
Log reason for non-standard transaction rejection
2013-06-23 02:05:25 -04:00
Pieter Wuille
b4a8a326c0
Merge pull request #2660 from TheBlueMatt/gmfrefactor
...
Refactor fee rules to make them actually readable.
2013-06-22 10:08:57 -07:00
Pieter Wuille
48628fd98c
Merge pull request #2765 from vobornik/master
...
recognize Debian kFreeBSD port by build_detect_platform script
2013-06-22 10:05:18 -07:00
Pieter Wuille
4e534aa9d8
Add dumpwallet and importwallet RPCs
...
dumpwallet: produce a dump of all keys in a wallet, in a format
compatible with Bitcoin Wallet for Android and Multibit.
importwallet: import such a dump
2013-06-22 17:30:56 +02:00
Pieter Wuille
434e4273b9
Add GetKeyBirthTimes to wallet
...
Compute safe lower bounds on the birth times of all wallet keys. For
pool keys or keys with metadata, the actually stored birth time is
used. For all others, the birth times are inferred from the wallet
transactions.
2013-06-22 17:30:56 +02:00
Pieter Wuille
acc775c554
Add ExtractAffectedKeys to script
...
This function finds all keys affected by a particular output script,
supporting everything ExtractDestinations supports (pay-to-pubkey,
pay-to-pubkeyhash, multisig) and recurses into subscripts (P2SH).
2013-06-22 16:49:30 +02:00
Pieter Wuille
067a6092ac
Initialize database before checking changed txindex
...
In case no database exists yet, and -txindex(=1) is passed, we currently first
check whether fTxIndex differs from -txindex (and ask the user to reindex in
that case), and only afterwards initialize the database. By swapping these
around (the initialization is a no-op in case the database already exists),
we allow it to be born in txindex mode, without warning.
That also means we don't need to check -reindex anymore, as the wiping/reinit
of the databases happens before checking.
2013-06-22 16:14:26 +02:00
Pieter Wuille
01b45731b7
Merge pull request #2632 from mikehearn/chainparams
...
Refactor chain-specific tweaks into a CChainParams class and introduce a regtest mode
2013-06-22 06:56:14 -07:00
Pieter Wuille
4addb2c066
Refactor keytime/metadata and wallet encryption bugfix
...
Refactor keytime:
* Key metadata is kept in a CWallet::mapKeyMetadata (std::map<CKeyId,CKeyMetadata>).
* When generating a new key, time is put in that map, and new key is written.
* AddKeyPubKey and AddCryptedKey do not take a creation time argument, but instead
pull it from that map, if it exists there.
Bugfix:
* AddKeyPubKey and AddCryptedKey in CWallet didn't override the CKeyStore
definition anymore. This is fixed, as they no longed need the nCreationTime
argument now.
Also a few related other changes:
* Metadata can be overwritten.
* Only GenerateNewKey calls GetTime(), as it's the only place where we know for
sure a key was not constructed earlier.
* When the nTimeFirstKey is known to be inaccurate, it is set to the value 1
(instead of 0, which would mean unknown).
* Use CPubKey instead of std::vector<unsigned char> where possible.
2013-06-20 01:31:18 +02:00
Jeff Garzik
f590653377
RPC: add 'verifychain', to verify chain database at runtime
2013-06-19 11:53:02 -04:00
Jeff Garzik
168ba99392
Pass check level, check depth to VerifyDB()
2013-06-19 11:32:49 -04:00
Mike Hearn
0e4b317555
Introduce a CChainParameters singleton class and regtest mode.
...
The new class is accessed via the Params() method and holds
most things that vary between main, test and regtest networks.
The regtest mode has two purposes, one is to run the
bitcoind/bitcoinj comparison tool which compares two separate
implementations of the Bitcoin protocol looking for divergence.
The other is that when run, you get a local node which can mine
a single block instantly, which is highly convenient for testing
apps during development as there's no need to wait 10 minutes for
a block on the testnet.
2013-06-19 16:28:52 +02:00
Mike Hearn
70e7fba06d
Move implementation of some CBlockLocator methods
...
Move out of main.h to improve compile times and add documentation
for what the methods do.
2013-06-19 15:39:45 +02:00
Jeff Garzik
25dbb92860
Merge pull request #2760 from cozz/cozz2
...
fix comment about dust logic
2013-06-18 06:23:58 -07:00
Pieter Wuille
5e6f7cc8ad
Merge pull request #2763 from bitsofproof/master
...
Send tx relay flag with version message
2013-06-17 01:43:11 -07:00
Wladimir J. van der Laan
be77b637fc
qt: allow user to choose data directory
...
This adds an introduction screen that is shown when the client is first
started in which the user can choose a data directory.
It is also possible to force the intro screen to appear using command
line argument `-choosedatadir`.
The user is warned that the client will download and store 10Gb of data.
The intro screen shows how much space is available on the device that
contains the chosen directory and warns if this is less than the 10Gb.
To make it possible to translate the introduction dialog, the initialization
sequence is changed so that translations are
loaded before the data directory. This has the by-effect that it is
no longer possible to specify a language in bitcoin.conf inside the data
directory.
2013-06-16 10:21:41 +02:00
Pieter Wuille
e58154c447
Merge pull request #2648 from Diapolo/txindex
...
allow txindex to be removed and add a reindex dialog
2013-06-15 07:49:40 -07:00
Pieter Wuille
f5442aeef4
Merge pull request #2766 from theuni/fix-shutdown-deadlock
...
Fix shutdown deadlock, ticket #2690
2013-06-15 07:40:35 -07:00
Matt Corallo
87cce04c17
Refactor fee rules to make them actually readable.
...
This (nearly) doesn't change fee rules at all:
* To make it into the fee transaction area, the dPriority comparison
changed from < to <=
* We now just ignore transactions > MAX_BLOCK_SIZE/4 instead of
doing some calculations to require increasingly large fees as
size increases.
2013-06-14 13:37:43 +02:00
theuni
e2654c8d28
fixed: don't use thread::sleep_for where it's known to be broken
...
Fixes #2690 .
2013-06-14 00:01:57 -04:00
theuni
f2763d6d60
fixed: include boost header as necessary
...
Without this include, sometimes BOOST_VERSION was defined and sometimes
it was not, depending on which includes came before it. The result was a
random mix of sleep or sleep_for for boost versions >= 1.50.
2013-06-13 23:40:59 -04:00
Matt Corallo
b1f15b218b
Remove broken option to skip input checking for wallet txn.
2013-06-13 22:28:03 +02:00
Vaclav Vobornik
1d626952f9
Added GNU/kFreeBSD kernel name (TARGET_OS)
...
uname -s returns "GNU/kFreeBSD" on Debian GNU/kFreeBSD port. See http://www.debian.org/ports/kfreebsd-gnu/
2013-06-12 14:46:16 +02:00
bitsofproof
c87f462b74
send tx relay flag with version
2013-06-11 23:29:41 +02:00
Cozz Lovan
346427f01b
fix comment about dust logic
2013-06-11 05:06:02 +02:00
Jeff Garzik
d1020b780a
Merge pull request #2553 from Diapolo/threads
...
changes to thread code (directly use boost::thread)
2013-06-10 13:42:59 -07:00
Pieter Wuille
61983b3d16
Merge pull request #1863 from jgarzik/keytime
...
"Wallet birthdays": store key create time; calc whole-wallet birthday
2013-06-10 13:38:19 -07:00
Philip Kaufmann
53e71135de
changes to thread code (directly use boost::thread)
...
- removes our NewThread() function an replaces remaining calls with
boost::thread with our TraceThread template
- remove ExitThread() function
- fix THREAD_PRIORITY_ABOVE_NORMAL for non Windows OSes
2013-06-10 19:49:54 +02:00
Philip Kaufmann
0206e38dcd
allow txindex to be removed and add a reindex dialog
...
- adds a reindex dialog for Bitcoin-Qt to change -txindex without the need
to supply -reindex
- now also does a -reindex, when removing the -txindex switch
2013-06-10 19:27:57 +02:00
Jeff Garzik
543d70a676
Merge pull request #2747 from luke-jr/getblock_verbose0
...
Add verbose flag to getblock RPC so it is possible to get hex dumps of blocks
2013-06-10 08:16:39 -07:00
Jeff Garzik
8da9dd0725
Wallet: optimize rescan to skip blocks prior to birthday
2013-06-10 09:38:13 -04:00
Jeff Garzik
3869fb89b6
Wallet: store key creation time. Calculate whole-wallet birthday.
...
This also encapsulate wallet-read state information into CWalletScanState.
2013-06-10 09:36:29 -04:00
Jeff Garzik
f59530ce6e
Merge pull request #2154 from CodeShark/dependencycleanup
...
Clean up code dependencies
2013-06-10 06:17:38 -07:00
Wladimir J. van der Laan
8b313c9331
Merge pull request #2749 from laanwj/2013_06_addtotalbalance
...
qt: Add total balance in overview page
2013-06-09 01:06:36 -07:00
Wladimir J. van der Laan
3e9c8bab54
Create parent directories if needed in GetDataDir
...
One-line change. Fixes #2752 .
2013-06-08 10:03:23 +02:00
Luke Dashjr
2331952141
RPC: getblock(): Accept 2nd "verbose" parameter, similar to getrawtransaction, but defaulting to 1 for backward compatibility
2013-06-07 17:44:39 +00:00
Wladimir J. van der Laan
cb85aeb06c
qt: Add total balance in overview page
2013-06-07 15:33:32 +02:00
Eric Lombrozo
6e68524e95
Removed the main.h include from net.cpp.
2013-06-06 00:04:33 -07:00
Eric Lombrozo
501da2503a
Using boost::signals2 to message main from net.cpp.
2013-06-05 23:15:20 -07:00
Eric Lombrozo
aabdf9e899
Moved UpdateTime out of CBlockHeader and moved CBlockHeader into core.
2013-06-05 23:15:20 -07:00
Eric Lombrozo
48343a0a50
Removed script.cpp's dependence on main.h
2013-06-05 23:15:20 -07:00
Eric Lombrozo
65e7bbef74
Moved CCoins, CTxOutCompressor, CTxInUndo, and CTxUndo to core.
2013-06-05 23:15:20 -07:00
Eric Lombrozo
05df3fc68d
Removed AcceptToMemoryPool method from CTransaction. This method belongs to the mempool instance.
...
Removed AreInputsStandard from CTransaction, made it a regular function in main.
Moved CTransaction::GetOutputFor to CCoinsViewCache.
Moved GetLegacySigOpCount and GetP2SHSigOpCount out of CTransaction into regular functions in main.
Moved GetValueIn and HaveInputs from CTransaction into CCoinsViewCache.
Moved AllowFree, ClientCheckInputs, CheckInputs, UpdateCoins, and CheckTransaction out of CTransaction and into main.
Moved IsStandard and IsFinal out of CTransaction and put them in main as IsStandardTx and IsFinalTx. Moved GetValueOut out of CTransaction into main. Moved CTxIn, CTxOut, and CTransaction into core.
Added minimum fee parameter to CTxOut::IsDust() temporarily until CTransaction is moved to core.h so that CTxOut needn't know about CTransaction.
2013-06-05 23:15:20 -07:00
Eric Lombrozo
788536f175
Moved CInPoint to core. Removed GetMinFee from CTransaction and made it a regular function in main.
2013-06-05 23:15:19 -07:00
Eric Lombrozo
effc2770f5
Created core.h/core.cpp, added to makefiles. Started moving core structures from main to core beginning with COutPoint.
2013-06-05 23:14:52 -07:00
Eric Lombrozo
663224c232
Removed net.cpp's dependency on init.h.
...
Added explicit include of main.h in init.cpp, changed include of init.h to include of main.h in net.cpp.
Added function registration for net.cpp in init.cpp's network initialization.
Removed protocol.cpp's dependency on main.h.
TODO: Remove main.h include in net.cpp.
2013-06-05 20:36:10 -07:00
Eric Lombrozo
4751d07efd
Moved unrelated-to-network calls in StartNode and StopNode into init.cpp
2013-06-05 20:36:10 -07:00
Eric Lombrozo
8926263dde
Moved PushGetBlocks to main.cpp to eliminate dependence of net.cpp on CBlockLocator.
2013-06-05 20:36:10 -07:00
Eric Lombrozo
336fe971e6
Get rid of db dependencies on main
2013-06-05 20:36:10 -07:00
Jeff Garzik
c94bd68547
Merge pull request #2700 from theuni/gui-split
...
autotools: Gui split
2013-06-05 10:56:24 -07:00
Wladimir J. van der Laan
fc1f360fce
Merge pull request #2731 from Diapolo/rpcconsole
...
Bitcoin-Qt: harmonize 2 setClientModel() functions
2013-06-05 09:27:23 -07:00
Cory Fields
99add01e76
osx: fix bitcoin-qt startup crash when clicking dock icon
...
Crash probably introduced by 4d17a1b0
.
Inialize the window to NULL and verify it before use.
2013-06-04 23:55:35 -04:00
Cory Fields
34994ebcb0
build: cosmetics after last commit
2013-06-04 03:54:14 -04:00
Cory Fields
ee4b170c92
build: use runtime setting for wallet rather than QT_GUI define
2013-06-04 03:54:14 -04:00
Cory Fields
7f61f1ac78
build: use runtime setting for displaying the help message rather than QT_GUI define
2013-06-04 03:54:14 -04:00
Cory Fields
c98c88b3ab
build: cosmetic: split usage string for easier formatting
2013-06-04 03:54:14 -04:00
Cory Fields
13c84b3bd5
build: add global var for whether or not the gui is enabled
2013-06-04 03:54:14 -04:00
Cory Fields
c862d2ff22
build: split the non-gui startup routines into a new file
...
This will allow each to have its own main(), meaning that we can build a common
base client and simply link in the correct startup object to create the
appropriate binary.
2013-06-04 03:54:14 -04:00
Cory Fields
a9380c72be
build: prepare to move DetectShutdownThread
2013-06-04 03:53:40 -04:00
Wladimir J. van der Laan
c83d4d2170
Merge pull request #2613 from jonasschnelli/prefsFix
...
MaxOSX: settings fixes (#2371 )
2013-06-03 09:17:55 -07:00
Wladimir J. van der Laan
cd945c3bc9
Merge pull request #2727 from TheBlueMatt/master
...
One more data-driven test-case
2013-06-03 09:14:58 -07:00
Jonas Schnelli
39fe9de6b2
Merge branch 'master' of git://github.com/bitcoin/bitcoin into prefsFix
...
Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
Conflicts:
bitcoin-qt.pro
2013-06-03 15:18:41 +02:00
Philip Kaufmann
1fc57d568b
Bitcoin-Qt: harmonize 2 setClientModel() functions
...
- harmonize BitcoinGUI::setClientModel() and RPCConsole::setClientModel()
- now RPCConsole::setClientModel() also includes a direct call to
setNumBlocks()
2013-06-03 14:10:14 +02:00
Jonas Schnelli
f679b2900a
MaxOSX: settings fixes ( #2371 )
...
- Launch-At-Startup implementation for mac
- Remove "Window" tab in settings
Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-06-03 12:26:56 +02:00
Matt Corallo
14c12b094b
Add new data-driven test-case.
2013-06-02 20:51:01 +02:00
Philip Kaufmann
80fccb0eb3
Bitcoin-Qt: setup testnet GUI directly
...
- this directly sets up all GUI elements that have testnet special-casing
without first setting up main net stuff and changing afterwards (titles,
icons etc.)
- also fixes 2 wrong icons shown during testnet usage on our toolbar
2013-06-02 17:40:28 +02:00
vhf / victor felder
a35e268da4
Too many bitcoins allowed in amount. ( #2401 )
...
Using magic number doesn't seem right. Could we factor this out, together with https://github.com/bitcoin/bitcoin/blob/master/src/bitcoinrpc.cpp#L96 ?
And what about BitcoinUnits::parse() as well ?
2013-06-02 14:44:55 +02:00
Wladimir J. van der Laan
50b4086a4a
Merge pull request #2588 from Diapolo/GetBoolArg
...
remove GetBoolArg() fDefault parameter defaulting to false
2013-06-02 05:21:24 -07:00
Philip Kaufmann
3260b4c090
remove GetBoolArg() fDefault parameter defaulting to false
...
- explicitly set the default of all GetBoolArg() calls
- rework getarg_test.cpp and util_tests.cpp to cover this change
- some indentation fixes
- move macdockiconhandler.h include in bitcoin.cpp to the "our headers"
section
2013-06-01 12:53:57 +02:00
Wladimir J. van der Laan
25c0cce7fb
Qt5 compatibility
...
This commit squashes all the changes in the Qt5 branch
relative to master.
Backward compatibility with Qt4 is retained.
Original authors:
- Philip Kaufmann <phil.kaufmann@t-online.de>
- Jonas Schnelli <jonas.schnelli@include7.ch>
2013-06-01 11:05:08 +02:00
Jeff Garzik
3fbd87e0dc
Merge pull request #2552 from Diapolo/win-typedef
...
remove obsolete and unused typedef for Windows
2013-05-30 09:42:47 -07:00
Wladimir J. van der Laan
a2d2e5e466
Merge pull request #2615 from jonasschnelli/mac10_8_not_center
...
osx: make use of the 10.8+ user notification center to display growl lik...
2013-05-30 09:25:54 -07:00
Jeff Garzik
6bc6d57303
Merge pull request #2716 from laanwj/2013_05_30_getwork
...
Move pMiningKey init out of StartRPCThreads
2013-05-30 09:15:16 -07:00
Jeff Garzik
87ec1929cf
Merge pull request #2705 from robbak/crash_zero_size_peers.dat
...
Don't attempt to resize vector to negative size.
2013-05-30 09:13:44 -07:00
Jeff Garzik
d397715661
Merge pull request #2644 from sipa/constfindblock
...
Make FindBlockByHeight constant-time
2013-05-30 08:06:44 -07:00
Jeff Garzik
3fad76bf83
Merge pull request #2642 from sipa/rightgenesis
...
Check for correct genesis
2013-05-30 08:04:02 -07:00