Commit Graph

3535 Commits

Author SHA1 Message Date
Pieter Wuille
231b399952 Bugfix: remove conflicting transactions from memory pool
When a transaction A is in the memory pool, while a transaction B
(which shares an input with A) gets accepted into a block, A was
kept forever in the memory pool.

This commit adds a CTxMemPool::removeConflicts method, which
removes transactions that conflict with a given transaction, and
all their children.

This results in less transactions in the memory pool, and faster
construction of new blocks.
2012-11-25 11:50:35 +01:00
Pieter Wuille
3ed1ccb089 Merge pull request #2004 from alexanderkjeldaas/simplify-cmutexlock
Simplify CMutexLock
2012-11-24 13:55:00 -08:00
Pieter Wuille
7818d230a2 Merge pull request #2013 from sipa/blockheader
Split off CBlockHeader from CBlock
2012-11-24 13:54:12 -08:00
burger2
ecd67a1420 Fix duplicate shortcut usage in sign/verify message dialog. 2012-11-22 22:50:30 +01:00
Pieter Wuille
c07a1a6ee4 Merge pull request #1980 from sipa/noreorgsame
Do not reorganize if new branch has same amount of work
2012-11-22 13:33:03 -08:00
Wladimir J. van der Laan
b0e228a4b0 Merge pull request #2024 from Diapolo/fix_qt_crash
Bitcoin-Qt: fix crash on Windows caused by CDBEnv::EnvShutdown()
2012-11-22 02:08:42 -08:00
Gavin Andresen
edf6ba2690 Merge pull request #2031 from gavinandresen/scriptcomment
Add assert and comment for subtle pay-to-script-hash logic
2012-11-21 13:02:40 -08:00
default
fe703deae7 Deploy properly with Nokia Qt installer's Frameworks 2012-11-21 19:38:56 +00:00
Gavin Andresen
a91efb2d8d Add assert and comment for subtle pay-to-script-hash logic 2012-11-21 13:58:10 -05:00
Philip Kaufmann
be8e1f8479 Bitcoin-Qt: fix crash on Windows caused by CDBEnv::EnvShutdown()
- can be triggerd by just adding -proxy=crashme with 0.7.1
- crash occured, when AppInit2() was left with return false; after the
  first call to bitdb.open() (Step 6 in init)
- this is caused by GetDataDir() or .string() in CDBEnv::EnvShutdown()
  called via the bitdb global destructor
- init fDbEnvInit and fMockDb to false in CDBEnv::CDBEnv()
2012-11-18 14:10:26 +01:00
Wladimir J. van der Laan
4725e96a3a Merge pull request #2022 from Diapolo/fix_#2018
fix pull #2018
2012-11-17 01:00:20 -08:00
Philip Kaufmann
11406c89fe ConnectBlock(): fix error() format to be unsigned
- I introduced the wrong format macro with my former patch (#2018), this
  needs to be signed not unsigned (thanks Luke-Jr)
2012-11-17 09:57:58 +01:00
Wladimir J. van der Laan
98e7771ca1 Merge pull request #2019 from Diapolo/bitcoinstrings_upd
update bitcoinstrings.cpp and bitcoin_en.ts
2012-11-16 17:29:04 -08:00
Philip Kaufmann
baa510b210 update bitcoinstrings.cpp and bitcoin_en.ts 2012-11-16 19:02:39 +01:00
Gavin Andresen
e45d39f9ee Merge pull request #2009 from sipa/fixmove
Prevent RPC 'move' from deadlocking
2012-11-16 08:09:41 -08:00
Pieter Wuille
1fefd2a5bc Merge pull request #2018 from Diapolo/fix_warning
ensure we use our format macros to avoid compilation warnings
2012-11-16 01:56:41 -08:00
Philip Kaufmann
42152c3da9 ensure we use our format macros to avoid compilation warnings
- fixes 2 warnings I observed while compiling on Windows with MinGW
2012-11-16 08:29:47 +01:00
Wladimir J. van der Laan
0c42ee8130 Merge pull request #1767 from Diapolo/RPCCon_clear_history
clear history when using clear button in RPC console
2012-11-15 22:31:12 -08:00
Jeff Garzik
3ef292dc7d Merge pull request #1670 from luke-jr/blksubstr
Use full block hash as unique identifier in debug.log
2012-11-15 18:47:07 -08:00
Jeff Garzik
848c0d5d95 Merge pull request #1945 from centromere/leveldb_fix
Fixed compile error on FreeBSD 9.
2012-11-15 18:31:20 -08:00
Jeff Garzik
34ea321ccd Merge pull request #1987 from jgarzik/no-pw-match
RPC: Forbid RPC username == RPC password
2012-11-15 18:22:50 -08:00
Jeff Garzik
824e196054 Merge pull request #2005 from Diapolo/fixes_main
some small fixes for main.cpp/.h
2012-11-15 18:20:35 -08:00
Jeff Garzik
a0bf93b809 Merge pull request #2012 from luke-jr/invblk_errs
Print error for coinbase-pays-too-much case of ConnectBlock failing
2012-11-15 18:18:55 -08:00
Jeff Garzik
fdbb537d26 Add new RPC "lockunspent", to prevent spending of selected outputs
and associated RPC "listlockunspent".

This is a memory-only filter, which is empty when a node restarts.
2012-11-15 21:11:30 -05:00
Jeff Garzik
7e1610d51e RPC: Forbid RPC username == RPC password
Added security measure.
2012-11-15 20:33:42 -05:00
Pieter Wuille
bb76267cc4 Merge pull request #2010 from Diapolo/bind_unsigned
make enum and parameter used in Bind() unsigned
2012-11-15 15:37:00 -08:00
Pieter Wuille
e754cf4133 Split off CBlockHeader from CBlock
Cleaner and removes the need for the application-specific flags in
serialize.h.
2012-11-16 00:12:33 +01:00
Jeff Garzik
3b9f029def Merge pull request #2008 from sipa/scriptflags
Introduce script verification flags
2012-11-15 14:49:06 -08:00
Pieter Wuille
99d0d0f356 Introduce script verification flags
These flags select features to be enabled/disabled during script
evaluation/checking, instead of several booleans passed along.
Currently these flags are defined:
* SCRIPT_VERIFY_P2SH: enable BIP16-style subscript evaluation
* SCRIPT_VERIFY_STRICTENC: enforce strict adherence to pubkey/sig encoding standards.
2012-11-15 23:00:16 +01:00
Wladimir J. van der Laan
6caffb5358 Merge pull request #1984 from grimd34th/patch-2
VariantClear@4 + shutdown@8 patch
2012-11-14 22:24:16 -08:00
Luke Dashjr
4ade04ddbd Print error for coinbase-pays-too-much case of ConnectBlock failing 2012-11-14 19:16:56 +00:00
Philip Kaufmann
29e214aaf5 make enum and parameter used in Bind() unsigned
- it's good practise to use unsigned int for enum flags, so change this
  one, as I introduced this for Bind()
2012-11-14 16:13:18 +01:00
Alexander Kjeldaas
bfc9620799 Simplify CMutexLock
o Remove unused Leave and GetLock functions
o Make Enter and TryEnter private.
o Simplify Enter and TryEnter.
  boost::unique_lock doesn't really know whether the
  mutex it wraps is locked or not when the defer_lock
  option is used.
  The boost::recursive_mutex does not expose this
  information, so unique_lock only infers this
  knowledge.  When taking the lock is defered, it
  (randomly) assumes that the lock is not taken.
  boost::unique_lock has the following definition:

        unique_lock(Mutex& m_,defer_lock_t):
            m(&m_),is_locked(false)
        {}

        bool owns_lock() const
        {
            return is_locked;
        }
  Thus it is a mistake to check owns_lock() in Enter
  and TryEnter - they will always return false.
2012-11-14 00:00:23 -03:00
Pieter Wuille
4291e8feab Prevent RPC 'move' from deadlocking
It seemed to create two CWalletDB objects that both grab the
database lock.
2012-11-14 00:31:56 +01:00
Luke Dashjr
c34a32699e Change block references in debug.log to full hash instead of just 0..20 2012-11-13 21:19:58 +00:00
Luke Dashjr
f3a84c3a6b Abstract block hash substr extraction (for debug.log) into BlockHashStr inline 2012-11-13 21:18:32 +00:00
Wladimir J. van der Laan
f2b12807d0 Merge pull request #1479 from Diapolo/wallet_add_GetImmatureCredit
add CWalletTx::GetImmatureCredit() and use it in CWallet::GetImmatureBalance()
2012-11-12 23:33:46 -08:00
Philip Kaufmann
966a0e8cc9 add CWalletTx::GetImmatureCredit() and use it in CWallet::GetImmatureBalance() 2012-11-13 07:56:48 +01:00
Wladimir J. van der Laan
0d5b1d2a3e Merge pull request #2002 from alexanderkjeldaas/clang-warnings
o Removed verbose clang warning
2012-11-12 22:26:08 -08:00
Robert Backhaus
978770b59d Change 'make' to $(MAKE) in leveldb make command line 2012-11-13 11:45:07 +10:00
Philip Kaufmann
13e5cce4c3 some small fixes for main.cpp/.h
- remove an unwanted ";" at the end of the ~CCoinsView() destructor
- in FindBlockPos() and FindUndoPos() only call fclose(), is file is open
- fix an error string in the CBlockUndo class
2012-11-11 13:16:42 +01:00
Pieter Wuille
e12efb9d33 Merge pull request #1970 from Arnavion/fix-make-leveldb
leveldb cannot compile with custom CFLAGS / CXXFLAGS / LDFLAGS
2012-11-11 03:20:29 -08:00
Pieter Wuille
537c890f24 Merge pull request #1997 from Diapolo/bdb_open
simplify CDBEnv::Open() / fix small glitches
2012-11-11 03:16:52 -08:00
Pieter Wuille
337f876cbb Merge pull request #2000 from Diapolo/fix_indentation
fix some missing indentations in main.cpp for better readability
2012-11-11 02:23:10 -08:00
Alexander Kjeldaas
25511af4a5 o Annotated lock-like functions in net.h.
o Removed unused function EndMessageAbortIfEmpty
2012-11-11 00:55:48 -03:00
Alexander Kjeldaas
05f97d1263 o Added AnnotatedMixin which adds locking annotations to the mutex
API, compatible with clang's -Wthread-safety
2012-11-11 00:55:48 -03:00
Alexander Kjeldaas
c043ff79e3 o Added threadsafety.h - a set of macros using the -Wthread-safety
feature in clang.  These macros should primarily be used to
  document which locks protect a given piece of data.  Secondary it
  can be used to document the set of held and excluded locks when
  entering a function.
2012-11-11 00:53:00 -03:00
Alexander Kjeldaas
40c5e409e1 o Removed verbose clang warning 2012-11-11 00:25:19 -03:00
Pieter Wuille
6ca2ea2fa2 Merge pull request #1979 from sipa/corefndoc
One-line comments for public main functions
2012-11-10 13:47:00 -08:00
Pieter Wuille
160b028b88 One-line comments for public main functions 2012-11-10 22:40:21 +01:00