Wladimir J. van der Laan
d7e1950483
Merge pull request #4937
...
ccca27a
[Wallet] Watch-only fixes (Cozz Lovan)
2014-10-13 13:57:07 +02:00
jtimon
ebdb9ff639
SQUASHME: fix "Reserve only one network specific cached path per session"
2014-10-11 20:56:27 +02:00
Luke Dashjr
0a08aa8f2a
Parameterise command line option defaults, so translations are independent of them
2014-10-11 08:22:26 +00:00
Cory Fields
d5fd094569
build: fix qt test build when libprotobuf is in a non-standard path
2014-10-10 13:03:28 -04:00
jtimon
b796cb084b
SQUASHME: NetworkIdFromCommandLine() function instead of method
2014-10-10 12:05:20 +02:00
Wladimir J. van der Laan
023690c0f2
Merge pull request #4802
...
6fd546d
Remove CChainParams::NetworkID() (jtimon)
cc97210
Add fTestnetToBeDeprecatedFieldRPC to CChainParams (jtimon)
e11712d
Move checkpoint data selection to chainparams (jtimon)
6de50c3
qt: add network-specific style object (Wladimir J. van der Laan)
2014-10-10 11:56:58 +02:00
jtimon
6fd546dd96
Remove CChainParams::NetworkID()
2014-10-10 11:01:00 +02:00
jtimon
cc97210799
Add fTestnetToBeDeprecatedFieldRPC to CChainParams
2014-10-10 11:01:00 +02:00
jtimon
e11712df7e
Move checkpoint data selection to chainparams
2014-10-10 11:00:59 +02:00
Wladimir J. van der Laan
6de50c3c9a
qt: add network-specific style object
...
Mainly cleanups: Gets rid of isTestNet everywhere, by keeping track
of network-specific theming in a central place.
Also makes GUI no longer dependent on the network ID enumeration, which
alleviates concerns about #4802 .
2014-10-10 11:00:59 +02:00
Wladimir J. van der Laan
fe36e031cd
Merge pull request #5032
...
4bd1185
Qt: allow "emergency" shutdown during startup (Philip Kaufmann)
2014-10-09 18:10:29 +02:00
Gavin Andresen
3222802ea1
Merge pull request #5059
...
dbca89b
Trigger -alertnotify if network is upgrading without you (Gavin Andresen)
e01a793
Refactor -alertnotify code (Gavin Andresen)
Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-10-09 10:39:29 -04:00
Gavin Andresen
dbca89b74b
Trigger -alertnotify if network is upgrading without you
...
This adds a -regetest-only undocumented (for regression testing only)
command-line option -blockversion=N to set block.nVersion.
Adds to the "has the rest of the network upgraded to a
block.nVersion we don't understand" code so it calls
-alertnotify when 51 of the last 100 blocks are up-version.
But it only alerts once, not with every subsequent new, upversion
block.
And adds a forknotify.py regression test to make sure it works.
Tested using forknotify.py:
Before adding CAlert::Notify, get:
Assertion failed: -alertnotify did not warn of up-version blocks
Before adding code to only alert once:
Assertion failed: -alertnotify excessive warning of up-version blocks
After final code in this pull:
Tests successful
2014-10-09 10:28:27 -04:00
Gavin Andresen
e01a7939d3
Refactor -alertnotify code
...
Refactor common -alertnotify code into static CAlert::Notify method.
2014-10-09 10:25:30 -04:00
Pieter Wuille
dec58922d0
Merge pull request #4996
...
d0c4197
change exit(1) to an assert in CWallet::EncryptWallet (Philip Kaufmann)
870da77
fix possible memory leaks in CWallet::EncryptWallet (Philip Kaufmann)
f606bb9
fix a possible memory leak in CWalletDB::Recover (Philip Kaufmann)
2014-10-08 15:51:32 -07:00
Pieter Wuille
9df9cf5a9f
Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
...
* Delete canonical_tests.cpp, and move the tests to script_tests.cpp.
* Split off SCRIPT_VERIFY_DERSIG from SCRIPT_VERIFY_STRICTENC (the BIP62 part of it).
* Change signature STRICTENC/DERSIG semantics to fail the script entirely rather than the CHECKSIG result (softfork safety, and BIP62 requirement).
* Add many autogenerated tests for several odd cases.
* Mention specific BIP62 rules in the script verification flags.
2014-10-08 15:42:29 -07:00
Pieter Wuille
d4a42334d4
Merge pull request #4834
...
7c70438
Get rid of the dummy CCoinsViewCache constructor arg (Pieter Wuille)
ed27e53
Add coins_tests with a large randomized CCoinViewCache test. (Pieter Wuille)
058b08c
Do not keep fully spent but unwritten CCoins entries cached. (Pieter Wuille)
c9d1a81
Get rid of CCoinsView's SetCoins and SetBestBlock. (Pieter Wuille)
f28aec0
Use ModifyCoins instead of mutable GetCoins. (Pieter Wuille)
2014-10-08 14:58:16 -07:00
Wladimir J. van der Laan
6860a55ea0
Merge pull request #4979
...
de10efd
add -timeout default as constant and use them (Philip Kaufmann)
2014-10-08 09:16:19 +02:00
Wladimir J. van der Laan
ad9cd64d3b
Merge pull request #5055
...
2c930d9
Prettify JSON tests and minimize diffs (Pieter Wuille)
2014-10-08 09:12:39 +02:00
Wladimir J. van der Laan
7c6cbff0e5
Merge pull request #4976
...
27c3e91
qt: add proxy to options overridden if necessary. (Cory Fields)
2014-10-07 12:33:45 +02:00
Wladimir J. van der Laan
3eaa9462f8
Merge pull request #5047
...
3e61eb9
minor txindex documentation improvement (Cozz Lovan)
2014-10-07 10:17:05 +02:00
Pieter Wuille
2c930d932b
Prettify JSON tests and minimize diffs
2014-10-07 09:41:33 +02:00
Wladimir J. van der Laan
953f16cb4e
Merge pull request #4954
...
9d7cd4c
Don't return an address for invalid pubkeys (Andy Alness)
2014-10-07 08:51:20 +02:00
Andy Alness
9d7cd4c598
Don't return an address for invalid pubkeys
2014-10-06 21:54:34 -04:00
Cozz Lovan
3e61eb9c51
minor txindex documentation improvement
2014-10-06 18:52:51 +02:00
Philip Kaufmann
de10efd154
add -timeout default as constant and use them
...
- update help message text
- simplify code in init to check for -timeout
2014-10-06 13:13:25 +02:00
Philip Kaufmann
4dc5eb057c
fix a lock indentation in main.cpp
...
- also ensure alphabetical ordering in file header
2014-10-06 13:04:02 +02:00
Philip Kaufmann
5eed8c21c7
minor license, header end comment etc. cleanup in /script
...
- ensure all licenses are just MIT
- add a missing header end comment
- ensure alphabetical ordering
2014-10-06 13:00:55 +02:00
Pieter Wuille
ed6d1a2c7b
Keep information about all block files in memory
2014-10-06 07:32:00 +02:00
Wladimir J. van der Laan
5505a1b13f
Merge pull request #5036
...
eb6b3b2
Update English translation (Wladimir J. van der Laan)
b9b2e3f
Don't translate state.Abort() messages (Wladimir J. van der Laan)
2014-10-06 04:42:09 +02:00
Wladimir J. van der Laan
5f1aee066a
Merge pull request #4890
...
e790c37
Replace SCRIPT_VERIFY_NOCACHE by flag directly to checker (Pieter Wuille)
5c1e798
Make signature cache optional (Pieter Wuille)
c7829ea
Abstract out SignatureChecker (Pieter Wuille)
2014-10-06 04:39:17 +02:00
Wladimir J. van der Laan
cd91ed4f5f
Merge pull request #4982
...
b5ec5fe
update getnetworkinfo help with subversion (Philip Kaufmann)
2014-10-03 15:27:58 +02:00
Pieter Wuille
5ccd735d30
Merge pull request #4887
...
4bb30a1
Correct logging AcceptBlock()->AcceptBlockHeader() (R E Broadley)
2014-10-03 04:31:44 +02:00
Cozz Lovan
ccca27a788
[Wallet] Watch-only fixes
2014-10-03 04:29:51 +02:00
Wladimir J. van der Laan
29f96e8bc6
Merge pull request #4994
...
54510f2
DRY: Avoid repetitions in script_test (jtimon)
2014-10-02 22:41:54 +02:00
Wladimir J. van der Laan
0e64566a82
Merge pull request #4978
...
938bcce
CAutoFile: make file private (Philip Kaufmann)
0c35486
CBufferedFile: add explicit close function (Philip Kaufmann)
c9fb27d
CBufferedFile: convert into a non-refcounted RAII wrapper (Philip Kaufmann)
2014-10-02 22:35:36 +02:00
Wladimir J. van der Laan
eb6b3b245c
Update English translation
2014-10-02 22:20:23 +02:00
Wladimir J. van der Laan
b9b2e3fabd
Don't translate state.Abort() messages
...
There is only one message passed to AbortNode() that makes sense to
translate to the user specifically: Disk space is low. For the others
show a generic message and refer to debug.log for details.
Reduces the number of confusing jargon translation messages.
2014-10-02 22:20:16 +02:00
jtimon
54510f2672
DRY: Avoid repetitions in script_test
2014-10-02 21:48:29 +02:00
Pieter Wuille
e790c370b5
Replace SCRIPT_VERIFY_NOCACHE by flag directly to checker
2014-10-02 20:26:58 +02:00
Pieter Wuille
5c1e798a8e
Make signature cache optional
2014-10-02 20:26:17 +02:00
Pieter Wuille
c7829ea797
Abstract out SignatureChecker
2014-10-02 20:26:16 +02:00
R E Broadley
4bb30a1eb8
Correct logging AcceptBlock()->AcceptBlockHeader()
2014-10-03 01:35:51 +08:00
Wladimir J. van der Laan
20a4b69360
Merge pull request #4985
...
bc470c4
Changed mixed indentation to four spaces (Eric Shaw)
31d6390
Fixed setaccount accepting foreign address (Eric Shaw)
2014-10-02 19:31:50 +02:00
Eric Shaw
bc470c43ee
Changed mixed indentation to four spaces
...
Put `test/rpc_wallet_tests.cpp` through clang-format.
2014-10-02 19:23:30 +02:00
Eric Shaw
31d6390fd1
Fixed setaccount accepting foreign address
...
Fixed issue #4209 where using setaccount with a foreign
address causes the address to be added to your receiving addresses.
2014-10-02 19:21:46 +02:00
Wladimir J. van der Laan
45c41c05a0
Merge pull request #5030
...
fbd36d8
Avoid introducing a virtual into CChainParams (Wladimir J. van der Laan)
f0fd00c
Switch testing framework from MAIN to new UNITTEST network (SergioDemianLerner)
2014-10-02 15:28:27 +02:00
Wladimir J. van der Laan
fbd36d8fb5
Avoid introducing a virtual into CChainParams
...
Treat fSkipProofOfWorkCheck the same as other parameters.
2014-10-02 13:54:26 +02:00
SergioDemianLerner
f0fd00cb77
Switch testing framework from MAIN to new UNITTEST network
...
UNITTEST inherites from MAIN but allows synamically changing its parameters using the ModifiableParams() interface
2014-10-02 13:51:39 +02:00
Philip Kaufmann
4bd1185280
Qt: allow "emergency" shutdown during startup
...
- allows closing our splash screen to abort startup
2014-10-02 11:26:36 +02:00
Philip Kaufmann
e2efdf3937
amount.h: update license, add header end comment + rem from util.h
2014-10-02 11:25:21 +02:00
Philip Kaufmann
938bccebf1
CAutoFile: make file private
2014-10-02 10:59:28 +02:00
Philip Kaufmann
0c35486dc9
CBufferedFile: add explicit close function
...
- also use identical close function for CAutoFile (avoids setting file to
NULL under wrong conditions)
2014-10-02 10:56:10 +02:00
Philip Kaufmann
c9fb27da0a
CBufferedFile: convert into a non-refcounted RAII wrapper
...
- it now takes over the passed file descriptor and closes it in the
destructor
- this fixes a leak in LoadExternalBlockFile(), where an exception could
cause the file to not getting closed
- disallow copies (like recently added for CAutoFile)
- make nType and nVersion private
2014-10-02 10:46:31 +02:00
Wladimir J. van der Laan
8d132431b4
Revert merge of pull #4845
...
It breaks the new mingw tests!
See
- https://travis-ci.org/bitcoin/bitcoin/jobs/36845581
- https://travis-ci.org/bitcoin/bitcoin/jobs/36845582
This reverts commit 4705902777
, 5e2e7fcb99
, a25fd6be13
.
2014-10-02 10:39:55 +02:00
Wladimir J. van der Laan
ad51e14583
Merge pull request #4845
...
4705902
Avoid introducing a virtual into CChainParams (Wladimir J. van der Laan)
5e2e7fc
Suggested corrections on comments, variable names. Also new test case testing the PoW skip in UNITTEST. (SergioDemianLerner)
a25fd6b
Switch testing framework from MAIN to new UNITTEST network (SergioDemianLerner)
2014-10-02 09:47:54 +02:00
Wladimir J. van der Laan
00eef5d6e9
Merge pull request #5017
...
f74fc9b
Print input index when signature validation fails, to aid debugging. (Mark Friedenbach)
217a5c9
When transaction outputs exceed inputs, show the offending amounts so as to aid debugging. (Mark Friedenbach)
2014-10-02 08:44:08 +02:00
Pieter Wuille
76c171033c
Merge pull request #4926
...
584a358
Do merkle root and txid duplicates check simultaneously (Pieter Wuille)
2014-10-02 06:10:19 +02:00
Pieter Wuille
471d38b015
Merge pull request #4980
...
20a11ff
minor variable init changes in init.cpp (Philip Kaufmann)
2014-10-02 04:29:01 +02:00
Mark Friedenbach
f74fc9b22d
Print input index when signature validation fails, to aid debugging.
2014-10-01 19:14:38 +02:00
Mark Friedenbach
217a5c9238
When transaction outputs exceed inputs, show the offending amounts so as to aid debugging.
2014-10-01 19:14:38 +02:00
Wladimir J. van der Laan
1fbccda8d0
Merge pull request #4940
...
62e5f8f
CMessageHeader sanity changes (Wladimir J. van der Laan)
2014-10-01 13:28:16 +02:00
Wladimir J. van der Laan
a419f82670
Merge pull request #5022
...
c375b5c
remove dead/unused code in walletdb.cpp (Philip Kaufmann)
2014-10-01 12:56:11 +02:00
Wladimir J. van der Laan
3fd192f8b4
Merge pull request #4234
...
c122f55
qt: Register CAmount metatype (Wladimir J. van der Laan)
a372168
Use a typedef for monetary values (Mark Friedenbach)
2014-10-01 11:28:55 +02:00
Wladimir J. van der Laan
c122f5528c
qt: Register CAmount metatype
...
This allows sending the type over queued connections.
Also normalize signal/slot names.
2014-10-01 11:06:41 +02:00
Philip Kaufmann
c375b5c102
remove dead/unused code in walletdb.cpp
...
- closes #5021
2014-10-01 11:00:29 +02:00
Philip Kaufmann
b5ec5fe0cb
update getnetworkinfo help with subversion
...
- add missing subversion field to getnetworkinfo help
- fix style and format errors in help string
- remove unneeded int casts
2014-10-01 10:23:00 +02:00
Wladimir J. van der Laan
a6f3e9d843
Merge pull request #5014
...
41d67c7
tests: fix python test-runner for windows (Cory Fields)
2014-10-01 08:55:34 +02:00
Philip Kaufmann
d0c4197ef6
change exit(1) to an assert in CWallet::EncryptWallet
2014-10-01 08:50:24 +02:00
Philip Kaufmann
870da77da6
fix possible memory leaks in CWallet::EncryptWallet
...
- add missing deletes for pwalletdbEncryption
- add an assert before trying to reserve memory for pwalletdbEncryption
- add a destructor to CWallet, which ensures deletion of
pwalletdbEncryption on object destruction
2014-10-01 08:48:23 +02:00
Philip Kaufmann
f606bb9baf
fix a possible memory leak in CWalletDB::Recover
...
- convert pdbCopy into a boost::scoped_ptr to ensure memory gets freed
in all cases (e.g. after "ret > 0")
2014-10-01 08:48:22 +02:00
Gavin Andresen
e5836eb692
Merge pull request #5015 from theuni/win64test
...
tests: fix false-positive under win64
2014-09-30 19:54:08 -04:00
Cory Fields
63c17613ab
tests: fix false-positive under win64
...
BN_ULONG isn't necessarily an unsigned long, as is the case on win64.
2014-09-30 18:16:14 -04:00
Cory Fields
41d67c78bf
tests: fix python test-runner for windows
...
Windows needed a few fixups to get the tests running:
1. bitcoin-tx needs a file extension in Windows. Take this opportunity to
add an env file, which pulls variables out of our build config. This can
be extended as needed, for now it's very simple.
2. After #1 , split the args out of the exec key in the test data.
3. Correct the line-endings from windows stdout
2014-09-30 16:26:22 -04:00
Pieter Wuille
a329097f92
Merge pull request #4990
...
7bec6dd
cleanup license and header end comment in chain.cpp/.h (Philip Kaufmann)
0db65d8
update license of compat and crypto (Philip Kaufmann)
2014-09-30 01:35:11 +02:00
Pieter Wuille
68af7d02cf
Fix vector out of bounds in script tests
2014-09-29 19:26:23 +02:00
Pieter Wuille
2884b9a4ae
Merge pull request #4960
...
8138cbe
Add automatic script test generation, and actual checksig tests (Pieter Wuille)
2014-09-29 18:36:04 +02:00
Wladimir J. van der Laan
4705902777
Avoid introducing a virtual into CChainParams
...
Treat fSkipProofOfWorkCheck the same as other parameters.
2014-09-29 13:13:47 +02:00
SergioDemianLerner
5e2e7fcb99
Suggested corrections on comments, variable names.
...
Also new test case testing the PoW skip in UNITTEST.
2014-09-29 13:03:23 +02:00
SergioDemianLerner
a25fd6be13
Switch testing framework from MAIN to new UNITTEST network
...
UNITTEST inherites from MAIN but allows synamically changing its parameters using the ModifiableParams() interface
2014-09-29 13:03:22 +02:00
Wladimir J. van der Laan
41150d601d
Merge pull request #4970
...
93e24dd
travis: use debug for one build (Cory Fields)
be6d87a
script: don't read past the end (Cory Fields)
a94496f
tests: don't split an empty string (Cory Fields)
00522cd
depends: disable reduced exports for debug builds (Cory Fields)
1f7fff2
depends: add docs for debug (Cory Fields)
dc66ff5
depends: make LDFLAGS act like the other flags (Cory Fields)
b1efba8
depends: give miniupnpc cppflags (Cory Fields)
1d154db
depends: teach qt to honor debug/release (Cory Fields)
3b63df5
depends: boost: build for debug or release as requested (Cory Fields)
7e99df7
depends: make sure openssl sees cppflags (Cory Fields)
f397304
depends: add debug/release flags for linux/osx/win (Cory Fields)
2027ad3
depends: add the debug/release concept to depends (Cory Fields)
2014-09-29 09:36:54 +02:00
Wladimir J. van der Laan
76182e7cb6
Merge pull request #4999
...
775b7b8
LLu is standard, but not portable. use ULL (sinetek)
2014-09-29 09:35:47 +02:00
Philip Kaufmann
7bec6dd230
cleanup license and header end comment in chain.cpp/.h
2014-09-29 08:22:03 +02:00
Philip Kaufmann
0db65d8798
update license of compat and crypto
...
- change license to be just MIT for all files in compat and crypto
- also add missing header end comments
- ensure default header include style
2014-09-29 08:21:11 +02:00
Pieter Wuille
bf3a5dd7f0
Merge pull request #4796
...
e8b5f0d
Move CBlockIndex, CChain and related code out of main (jtimon)
6db83db
Decouple CChain from mapBlockIndex (jtimon)
2014-09-29 06:06:57 +02:00
sinetek
775b7b8d70
LLu is standard, but not portable. use ULL
2014-09-28 18:22:44 -04:00
Mark Friedenbach
a372168e77
Use a typedef for monetary values
2014-09-26 15:42:04 -07:00
Pieter Wuille
8138cbea3c
Add automatic script test generation, and actual checksig tests
2014-09-26 21:58:48 +02:00
Pieter Wuille
64cfaf891f
Merge pull request #4986
...
6eb67b0
autofile: Disallow by-value copies of CAutoFile (Cory Fields)
eee030f
autofile: don't copy CAutoFile by value (Cory Fields)
2014-09-26 20:31:18 +02:00
Pieter Wuille
610a3d3a1b
Merge pull request #4983
...
d14d7de
SanitizeString: allow '(' and ')' (Wladimir J. van der Laan)
2014-09-26 19:36:08 +02:00
Pieter Wuille
c2db599c1f
Merge pull request #4977
...
cf42c36
Apply clang-format on crypto/* and compat/* (Pieter Wuille)
2014-09-26 19:31:18 +02:00
Cory Fields
6eb67b0ed2
autofile: Disallow by-value copies of CAutoFile
...
One might assume that CAutoFile would be ref-counted so that a copied object
would delay closing the underlying file until all copies have gone out of
scope. Since that's not the case with CAutoFile, explicitly disable copying.
2014-09-26 13:27:40 -04:00
Cory Fields
eee030f6bc
autofile: don't copy CAutoFile by value
2014-09-25 19:25:19 -04:00
Cory Fields
27c3e91014
qt: add proxy to options overridden if necessary.
...
If proxy is disabled in the gui but enabled via the command line, it needs to
be added to the override list.
2014-09-25 17:47:32 -04:00
Cory Fields
be6d87aa60
script: don't read past the end
2014-09-25 14:56:26 -04:00
Cory Fields
a94496fbb6
tests: don't split an empty string
2014-09-25 14:56:26 -04:00
Wladimir J. van der Laan
4b2b78b9f2
Merge pull request #4969
...
cda45b5
Reinitializing list's begin iterator after few elements were erased from the head (ENikS)
2014-09-25 15:58:56 +02:00
ENikS
1e73504865
Fixing C4146 warning
...
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-09-25 15:24:36 +02:00
Philip Kaufmann
20a11ffabf
minor variable init changes in init.cpp
...
- explicit init of pcoinsdbview and pwalletMain (even if not needed, as
globals are init to NULL, it seems cleaner)
- remove check if (pwalletMain) in Shutdown() as delete is valid even if
pwalletMain is NULL
2014-09-25 13:49:49 +02:00
Wladimir J. van der Laan
d14d7deff0
SanitizeString: allow '(' and ')'
...
'(' and ')' are valid in user agent strings, so should be reported
as such in RPC `getpeerinfo`.
Fixes #4537 .
2014-09-25 12:45:46 +02:00
Wladimir J. van der Laan
b50e5fe099
Merge pull request #4968
...
219372f
script: Fix reference into empty vector run time exception (ENikS)
2014-09-25 11:48:33 +02:00
ENikS
219372f1dd
script: Fix reference into empty vector run time exception
...
Edit by laanwj: `begin_ptr(sourcedata) + sourcedata.size()` -> `end_ptr(sourcedata)`
2014-09-25 11:46:52 +02:00
Wladimir J. van der Laan
375cb4c253
Merge pull request #4959
...
bb26e2c
[Qt] minor changes in splashscreen.cpp (Philip Kaufmann)
2014-09-25 11:31:53 +02:00
Wladimir J. van der Laan
8152f4efd8
Merge pull request #4967
...
459a2d2
Avoiding referencing elements of an empty vector (ENikS)
2014-09-25 11:31:10 +02:00
Wladimir J. van der Laan
82e370b4b0
Merge pull request #4782
...
2e5361b
remove code below asserts in limitedmap.h (fixes a ToDo) (Philip Kaufmann)
2014-09-25 11:21:43 +02:00
Wladimir J. van der Laan
29a9d4483e
Merge pull request #4966
...
c8063b5
Fixing out of bounds asses error (ENikS)
2014-09-25 10:21:01 +02:00
Jeff Garzik
ff36cbe8d0
RPC getnetworkinfo: export local node's client sub-version string
2014-09-25 10:09:21 +02:00
Philip Kaufmann
e6beedc496
[Qt] add more NULL pointer checks in bitcoingui
...
- add missing checks for clientModel and optionsModel
- small cleanups for an #ifdef on Mac
- remove an unneeded else
2014-09-25 09:16:45 +02:00
Pieter Wuille
cf42c36e99
Apply clang-format on crypto/* and compat/*
2014-09-25 08:23:32 +02:00
Pieter Wuille
584a358997
Do merkle root and txid duplicates check simultaneously
...
Move the txid duplicates check into BuildMerkleTree, where it can be done
much more efficiently (without needing to build a full txid set to detect
duplicates).
The previous version (using the std::set<uint256> to detect duplicates) was
also slightly too weak. A block mined with actual duplicate transactions
(which is invalid, due to the inputs of the duplicated transactions being
seen as double spends) would trigger the duplicates logic, resulting in the
block not being stored on disk, and rerequested. This change fixes that by
only triggering in the case of duplicated transactions that can actually
result in an identical merkle root.
2014-09-24 19:17:02 +02:00
Pieter Wuille
7c70438dc6
Get rid of the dummy CCoinsViewCache constructor arg
2014-09-24 03:19:04 +02:00
ENikS
cda45b5131
Reinitializing list's begin iterator after few elements were erased from the head
2014-09-23 18:33:16 -04:00
Pieter Wuille
ed27e53c9b
Add coins_tests with a large randomized CCoinViewCache test.
2014-09-23 22:29:45 +02:00
Pieter Wuille
058b08c147
Do not keep fully spent but unwritten CCoins entries cached.
...
Instead of storing CCoins entries directly in CCoinsMap, store a CCoinsCacheEntry
which additionally keeps track of whether a particular entry is:
* dirty: potentially different from its parent view.
* fresh: the parent view is known to not have a non-pruned version.
This allows us to skip non-dirty cache entries when pushing batches of changes up,
and to remove CCoins entries about transactions that are fully spent before the
parent cache learns about them.
2014-09-23 22:29:43 +02:00
Pieter Wuille
c9d1a81ce7
Get rid of CCoinsView's SetCoins and SetBestBlock.
...
All direct modifications are now done through ModifyCoins, and BatchWrite is
used for pushing batches of queued modifications up, so we don't need the
low-level SetCoins and SetBestBlock anymore in the top-level CCoinsView class.
2014-09-23 22:29:21 +02:00
Pieter Wuille
f28aec014e
Use ModifyCoins instead of mutable GetCoins.
...
Replace the mutable non-copying GetCoins method with a ModifyCoins, which
returns an encapsulated iterator, so we can keep track of concurrent
modifications (as iterators can be invalidated by those) and run cleanup
code after a modification is finished.
This also removes the overloading of the 'GetCoins' name.
2014-09-23 22:29:12 +02:00
Pieter Wuille
7a04f3d708
Merge pull request #4955
...
87314c1
Fixing improper input syntax and failing bounds check (ENikS)
2014-09-23 20:20:58 +02:00
ENikS
459a2d25e0
Avoiding referencing elements of an empty vector
2014-09-23 11:54:12 -04:00
ENikS
c8063b5712
Fixing out of bounds asses error
2014-09-23 11:17:43 -04:00
Wladimir J. van der Laan
35ee2dac67
Merge pull request #4949
...
c8589bf
Add actual signature tests (Pieter Wuille)
76ec867
Use actually valid transactions for script tests (Pieter Wuille)
2014-09-23 13:14:19 +02:00
ENikS
6f3ae9b5df
Fixing out of bounds error in GetKey()
2014-09-23 10:45:04 +02:00
Philip Kaufmann
bb26e2c896
[Qt] minor changes in splashscreen.cpp
...
- guard an unused variable with Q_UNUSED() macro
- remove a commented out line of code
2014-09-23 09:56:46 +02:00
Pieter Wuille
c8589bf99e
Add actual signature tests
2014-09-22 19:26:17 +02:00
Pieter Wuille
76ec867796
Use actually valid transactions for script tests
2014-09-22 19:26:17 +02:00
Wladimir J. van der Laan
3cdae61aa2
Merge pull request #4787
...
4b0deb3
Clean up CMerkleTx::SetMerkleBranch. (Daniel Kraft)
2014-09-22 14:18:54 +02:00
Wladimir J. van der Laan
565da68ed0
Merge pull request #4852
...
5e83bc4
[Qt] include and file header cleanup (Philip Kaufmann)
2014-09-22 12:20:36 +02:00
Wladimir J. van der Laan
321fd7dbee
Merge pull request #4947
...
6134b43
Fixing condition 'sabotaging' MSVC build (ENikS)
2014-09-22 10:34:12 +02:00
Wladimir J. van der Laan
aa340a8f07
Merge pull request #4951
...
d6712db
Also create pid file in non-daemon mode (Wladimir J. van der Laan)
2014-09-22 10:32:21 +02:00
Wladimir J. van der Laan
cfc5cfb0f0
qt: Make splash and shutdown window ignore close events
...
It's strange to be able to close these windows while there is work
in progress.
Also set Qt::WA_DeleteOnClose on both windows to make sure that they
are deleted eventually, no matter what happens.
2014-09-22 10:13:52 +02:00
Philip Kaufmann
2e5361b9c2
remove code below asserts in limitedmap.h (fixes a ToDo)
2014-09-22 09:35:40 +02:00
Wladimir J. van der Laan
6b09bc45b1
Merge pull request #4941
...
a49f11d
qt: Change splash screen to normal window (Wladimir J. van der Laan)
2014-09-22 09:33:34 +02:00
Wladimir J. van der Laan
5547f08ec7
Merge pull request #4952
...
01c2807
Add warning about the merkle-tree algorithm duplicate txid flaw (Peter Todd)
2014-09-22 09:03:59 +02:00
ENikS
87314c1c5e
Fixing improper input syntax and failing bounds check
2014-09-21 21:18:48 -04:00
Wladimir J. van der Laan
ae9966ed85
Merge pull request #4950
...
33a2771
test: Fix DoS tests after c74332c
(Wladimir J. van der Laan)
2014-09-21 21:25:25 +02:00
jtimon
3fdb9e8c15
Remove CBaseChainParams::NetworkID()
2014-09-21 21:25:15 +02:00
jtimon
f297479a19
Reserve only one network specific cached path per session
2014-09-21 21:21:09 +02:00
Pieter Wuille
934b153a2c
Merge pull request #4933
...
20e01b1
Apply clang-format on some infrequently-updated files (Pieter Wuille)
2014-09-21 01:10:14 +02:00
Peter Todd
01c28073ba
Add warning about the merkle-tree algorithm duplicate txid flaw
...
Lots of people read the Bitcoin Core codebase to learn more about
crypto; better to warn about flaws explicitly so they don't blindly copy
the code for other uses and create broken systems.
2014-09-20 13:23:44 -04:00
Wladimir J. van der Laan
d6712db354
Also create pid file in non-daemon mode
...
Always make a pid file, not only when `-daemon` specified.
This is useful for troubleshooting, for attaching debuggers and loggers
and such.
- Write the pid file only after the datadir lock was acquired
- Don't create or remove a pid file on WIN32, and also don't show the option
2014-09-20 11:03:59 +02:00
Wladimir J. van der Laan
33a27716fc
test: Fix DoS tests after c74332c
...
Fix data structure mismatch ... The mind boggles that they were still passing at all.
2014-09-20 09:55:14 +02:00
Pieter Wuille
25308337d6
Merge pull request #4835
...
ab15b2e
Avoid copying undo data (Pieter Wuille)
2014-09-20 05:11:09 +02:00
ENikS
6134b43ba9
Fixing condition 'sabotaging' MSVC build
2014-09-19 18:29:58 -04:00
Pieter Wuille
20e01b1a03
Apply clang-format on some infrequently-updated files
2014-09-19 19:21:46 +02:00
ENikS
018cec7c41
Fixing 'vector out of bounds' issue in base 32 and 64
2014-09-18 16:57:01 -04:00
Wladimir J. van der Laan
94064710b9
Write fee estimate and peers files only when initialized
...
Fixes #4669 .
Move the loading of addresses to StartNode() to make it more
self-contained.
2014-09-18 14:20:18 +02:00
Philip Kaufmann
5e83bc404c
[Qt] include and file header cleanup
...
- alphabetical ordering
- correct ordering own headers before normal headers etc.
2014-09-18 14:11:44 +02:00
Wladimir J. van der Laan
a49f11d9ed
qt: Change splash screen to normal window
...
Makes it possible to move, minimize, unminimize the window while
Bitcoin Core is initializing.
2014-09-18 13:21:26 +02:00
Wladimir J. van der Laan
7fd8813675
Merge pull request #4667
...
bbad683
[Qt] simplify return code and return values in txtablemodel (Philip Kaufmann)
21f1516
[Qt] add all used colors in txtablemodel to guiconstants (Philip Kaufmann)
2014-09-18 12:08:46 +02:00
Wladimir J. van der Laan
62e5f8f961
CMessageHeader sanity changes
...
- Remove spurious `pchCommand[1] = 1` in CMessageHeader()
- Make sure that pchCommand is zero-padded if length is shorter than
COMMAND_SIZE
- Use strnlen to determine length of pcmCommand in GetCommand
2014-09-18 10:15:48 +02:00
Wladimir J. van der Laan
c14bfea8ee
Merge pull request #4936
...
c15e483
typo fix of booleamn to boolean (imharrywu)
2014-09-18 09:50:21 +02:00
Philip Kaufmann
93f84d0417
cleanup class private and public areas in walletdb
...
- only code movement
2014-09-18 07:21:49 +02:00
Philip Kaufmann
22d7e7014f
prefer const string& over char* in CDB and CWalletDB constructor
...
- also make parameter of CDBEnv::CheckpointLSN a constant reference
2014-09-18 07:21:49 +02:00
imharrywu
c15e483f23
typo fix of booleamn to boolean
2014-09-18 08:15:09 +08:00
Pieter Wuille
ab15b2ec71
Avoid copying undo data
2014-09-17 20:38:20 +02:00
Wladimir J. van der Laan
438c7e4cd2
Merge pull request #4555
...
6dcfda2
Don't pass nHashType to EvalScript nor CheckSig (jtimon)
2b23a87
Don't pass nHashType to VerifyScript (jtimon)
ce3649fb
Remove CScriptCheck::nHashType (was always 0) (jtimon)
358562b
Remove unused function main:VerifySignature (jtimon)
2014-09-17 13:44:22 +02:00
Wladimir J. van der Laan
5b9d1e10a8
Merge pull request #4863
...
1a61396
fix missing gettransaction entries in rpcclient (Benedict Chan)
57e1716
update rpc help message for gettransaction to add includeWatchonly param (Benedict Chan)
2014-09-17 13:05:41 +02:00
Wladimir J. van der Laan
69dd8c919a
Merge pull request #4899
...
0be990b
Move CTxDestination from script/script to script/standard (Pieter Wuille)
2014-09-17 13:04:54 +02:00
Pieter Wuille
651a1fcf81
Merge pull request #4927
...
ee304b6
minor changes for help message of getpeerinfo (Philip Kaufmann)
2014-09-16 21:25:51 +02:00
Pieter Wuille
0be990ba34
Move CTxDestination from script/script to script/standard
2014-09-16 19:14:32 +02:00
Pieter Wuille
ab3834baae
Merge pull request #4928
...
e9992fb
remove include of chainparams.h (imharrywu)
2014-09-16 19:10:32 +02:00
Pieter Wuille
13168ea46c
Merge pull request #4903
...
efad808
Avoid reject message feedback loops (Pieter Wuille)
2014-09-16 18:54:46 +02:00
Wladimir J. van der Laan
cf04923618
Merge pull request #4930
...
f4fe205
add nModSize init to default constructor of CTxMemPoolEntry (Philip Kaufmann)
2014-09-16 15:21:24 +02:00
Philip Kaufmann
f4fe205034
add nModSize init to default constructor of CTxMemPoolEntry
2014-09-16 15:07:45 +02:00
Benedict Chan
1a613963e1
fix missing gettransaction entries in rpcclient
2014-09-16 11:12:01 +00:00
Benedict Chan
57e1716de6
update rpc help message for gettransaction to add includeWatchonly param
2014-09-16 11:12:01 +00:00
Wladimir J. van der Laan
6fc1dc1a32
Merge pull request #4719
...
52a5f90
Create the common location for all m4 autotool build scripts, build-aux/m4.
2014-09-16 12:00:18 +02:00
randy-waterhouse
52a5f90360
Create the common location for all m4 autotool build scripts, build-aux/m4.
...
Update .gitignore.
2014-09-16 11:55:15 +02:00
Wladimir J. van der Laan
f010344156
Merge pull request #4460
...
604ee2a
Remove tx from AlreadyAskedFor list once we receive it, not when we process it. (R E Broadley)
2014-09-16 11:31:54 +02:00
Wladimir J. van der Laan
edb1eebabc
Merge pull request #4853
...
2605b94
[Qt] update form files for setting autoDefault explicitly to false (Philip Kaufmann)
2014-09-16 10:49:47 +02:00
imharrywu
e9992fb645
remove include of chainparams.h
...
chainparams.h has not been used in this cpp file already, consider to remove it for clean.
2014-09-16 15:53:04 +08:00
Philip Kaufmann
ee304b6e35
minor changes for help message of getpeerinfo
2014-09-16 09:00:36 +02:00
Pieter Wuille
dc54e9db98
Merge pull request #4825
...
8d657a6
Fixing compiler warning C4800: 'type' forcing value to bool 'true' or 'false' (ENikS)
2014-09-16 04:47:55 +02:00
Pieter Wuille
7388b74cd2
Merge pull request #4911
...
611116d
header include cleanup (Philip Kaufmann)
2014-09-16 04:12:52 +02:00
Pieter Wuille
765f398436
Merge pull request #4875
...
f7e3637
Eliminate extra assignment (Suhas Daftuar)
ec7eb0f
When reindexing check for file before trying to open (refactored) (Suhas Daftuar)
2014-09-16 03:21:21 +02:00
Wladimir J. van der Laan
327dcfece7
Merge pull request #4869
...
6050ab6
netbase: Make SOCKS5 negotiation interruptible (Wladimir J. van der Laan)
2014-09-15 17:25:12 +02:00
Suhas Daftuar
f7e36370f3
Eliminate extra assignment
2014-09-15 09:56:10 -04:00
ENikS
ec91092df8
Fixing compiler warning C4101
...
Github-Pull: #4856
2014-09-15 14:35:32 +02:00
Wladimir J. van der Laan
c362c57568
Merge pull request #4798
...
d920f7d
Move g_signals.SetBestChain(..) below SyncWithWallets (Cozz Lovan)
2014-09-15 10:32:59 +02:00
Pieter Wuille
2ec82e94e6
Merge pull request #4817
...
c26649f
Track modified size in TxMemPoolEntry so that we can correctly compute priority. (Alex Morcos)
2014-09-15 07:29:04 +02:00
Jeff Garzik
a0a8700bc8
Merge pull request #4909
2014-09-14 19:27:22 -04:00
Philip Kaufmann
611116d4e3
header include cleanup
...
- ensures alphabetical ordering for includes etc. in source file headers
2014-09-14 12:43:56 +02:00
Philip Kaufmann
2d79bba36b
cleanup new script files (no code changes)
...
- add missing header end comments
- ensure alphabetical ordering
- update copyright year and license
2014-09-14 12:25:38 +02:00
Luke Dashjr
a65e320747
bitcoin-util-test: Test bitcoin-tx with null scriptPubKey
2014-09-14 06:28:22 +00:00
Luke Dashjr
15ef1b905b
Bugfix: bitcoin-tx: scriptPubKey may be null, so accept outscript=<n>:
2014-09-14 05:28:41 +00:00
jtimon
6dcfda2dc4
Don't pass nHashType to EvalScript nor CheckSig
2014-09-12 20:04:31 +02:00
jtimon
2b23a87599
Don't pass nHashType to VerifyScript
2014-09-12 20:04:31 +02:00
jtimon
ce3649fb61
Remove CScriptCheck::nHashType (was always 0)
2014-09-12 20:03:03 +02:00
jtimon
358562b651
Remove unused function main:VerifySignature
2014-09-12 20:03:03 +02:00
Pieter Wuille
b9307d2f55
Merge pull request #4876
...
6022b5d
Make script_{valid,invalid}.json validation flags configurable (Pieter Wuille)
2014-09-12 18:33:02 +02:00
Pieter Wuille
efad808aae
Avoid reject message feedback loops
2014-09-12 17:50:31 +02:00
Wladimir J. van der Laan
3fa1c81b94
Merge pull request #4885
...
aa3c697
Store fewer orphan tx by default, add -maxorphantx option (Gavin Andresen)
c74332c
Stricter handling of orphan transactions (Gavin Andresen)
2014-09-11 14:46:27 +02:00
Gavin Andresen
aa3c697e90
Store fewer orphan tx by default, add -maxorphantx option
...
There is no reason to store thousands of orphan transactions;
normally an orphan's parents will either be broadcast or
mined reasonably quickly.
This pull drops the maximum number of orphans from 10,000 down
to 100, and adds a command-line option (-maxorphantx) that is
just like -maxorphanblocks to override the default.
2014-09-10 14:09:40 -04:00
Gavin Andresen
c74332c678
Stricter handling of orphan transactions
...
Prevent denial-of-service attacks by banning
peers that send us invalid orphan transactions
and only storing orphan transactions given to
us by a peer while the peer is connected.
2014-09-10 14:09:40 -04:00
Suhas Daftuar
ec7eb0fa80
When reindexing check for file before trying to open (refactored)
2014-09-10 13:51:53 -04:00
Adam Weiss
e982b574a5
Use explicit fflush() instead of setvbuf()
...
Flushing after every line when printing to console is desirable when
running with systemd but setvbuf() has slightly different semantics
on Windows that causes warnings. Just do an explicit fflush() after
each line print to console instead.
2014-09-10 12:48:13 -04:00
Gavin Andresen
def2fdb4b9
Fix crashing bug caused by orphan(s) with duplicate prevout.hash
2014-09-10 16:53:54 +02:00
Wladimir J. van der Laan
d6af9856b0
Merge pull request #4878
...
540ac45
Avoid returning many "inv" orphans (Jeff Garzik)
d4168c8
Limit CNode::mapAskFor (Wladimir J. van der Laan)
2014-09-10 16:52:57 +02:00
Wladimir J. van der Laan
f23869e14b
Merge pull request #4623
...
e84843c
Broken addresses on command line no longer trigger testnet. (Ross Nicoll)
2014-09-10 15:07:58 +02:00
jtimon
c1e433b717
Rename scriptutils.o to wallet_ismine.o
2014-09-10 12:48:35 +02:00
jtimon
8b59a3d366
Move CAffectedKeysVisitor to wallet.cpp (remove ExtractAffectedKeys)
2014-09-10 12:44:43 +02:00