Commit graph

6839 commits

Author SHA1 Message Date
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
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
Wladimir J. van der Laan
bfe527ea86
Merge pull request #4962
6f3ae9b Fixing out of bounds error in GetKey() (ENikS)
2014-09-23 10:53:05 +02:00
ENikS
6f3ae9b5df Fixing out of bounds error in GetKey() 2014-09-23 10:45:04 +02:00
Alexander Jeng
2027450d42 Grammar fixes in README
Github-Pull: #4956
2014-09-23 10:40:57 +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
cb9871194a
Merge pull request #4765
e2a98d2 Update obsolete AC macros. (randy-waterhouse)
e543811 Add warnings for autogen.sh. Fix AC_CONFIG_SRCDIR. (randy-waterhouse)
2014-09-22 18:31:00 +02:00
Wladimir J. van der Laan
27fc5277f7
build: change cdrkit location in build-process.md
The cdrkit.org domain expired.
Thanks to gdm85 on IRC for reporting this.
2014-09-22 16:40:49 +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
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
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
Pieter Wuille
2fc6c67400
Merge pull request #4944
018cec7 Fixing 'vector out of bounds' issue in base 32 and 64 (ENikS)
2014-09-19 18:42:00 +02:00
ENikS
018cec7c41 Fixing 'vector out of bounds' issue in base 32 and 64 2014-09-18 16:57:01 -04: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
0db24bf5c3
Merge pull request #4939
d547ebf Remove mention of MacPorts from OSX build docs (Wladimir J. van der Laan)
2014-09-18 11:50:28 +02:00
Wladimir J. van der Laan
d547ebf56e Remove mention of MacPorts from OSX build docs 2014-09-18 10:12:08 +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
Wladimir J. van der Laan
e9870c5ed4
Merge pull request #4931
93f84d0 cleanup class private and public areas in walletdb (Philip Kaufmann)
22d7e70 prefer const string& over char* in CDB and CWalletDB constructor (Philip Kaufmann)
2014-09-18 09:39:11 +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
Gavin Andresen
d65ea7efa3 Merge pull request #4932 from theuni/travis
Travis tweaks
2014-09-16 15:25:00 -04:00
Cory Fields
1b0c981cb6 travis: use DEBUG_LOCKORDER for our quick/small Linux build 2014-09-16 14:23:55 -04:00
Cory Fields
cf12c223d0 depends: respect CPPFLAGS when configuring with depends 2014-09-16 14:23:55 -04:00
Cory Fields
7e3821c097 travis: retry tests before giving up 2014-09-16 13:39:25 -04:00