aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Remove CheckSig_mode and move logic out of CheckInputs()Pieter Wuille2013-01-081-6/+7
| | |
| * | Add CScriptCheck: a closure representing a script checkPieter Wuille2013-01-081-7/+8
| | |
| * | Move VerifySignature to mainPieter Wuille2013-01-081-0/+11
| | |
* | | Filter mempool commandMatt Corallo2013-01-161-5/+8
| | |
* | | Use CPartialMerkleTree for CMerkleBlock transactions.Matt Corallo2013-01-161-8/+18
| | |
* | | Add CPartialMerkleTreePieter Wuille2013-01-161-0/+121
| | | | | | | | | | | | | | | This adds a compact representation for a subset of a merkle tree's nodes.
* | | Let a node opt out of tx invs before we get a their bloom filterMatt Corallo2013-01-161-0/+6
| | | | | | | | | | | | | | | | | | Note that the default value for fRelayTxes is false, meaning we now no longer relay tx inv messages before receiving the remote peer's version message.
* | | Relay CMerkleBlocks when asked for MSG_FILTERED_BLOCKMatt Corallo2013-01-161-2/+24
| | |
* | | Add a CMerkleBlock to store merkle branches of filtered txes.Matt Corallo2013-01-161-0/+23
| | |
* | | Replace RelayMessage with RelayTransaction.Matt Corallo2013-01-161-2/+2
| | |
* | | Add a filter field in CNode, add filterload+filteradd+filterclearMatt Corallo2013-01-161-0/+45
| |/ |/|
* | Merge pull request #2161 from sipa/noclientGavin Andresen2013-01-141-30/+13
|\ \ | | | | | | Remove fClient
| * | Remove fClientPieter Wuille2013-01-091-30/+13
| |/ | | | | | | | | | | | | | | | | | | Client (SPV) mode never got implemented entirely, and whatever part was already working, is likely not been tested (or even executed at all) for the past two years. This removes it entirely. If we want an SPV implementation, I think we should first get the block chain data structures to be encapsulated in a class implementing a standard interface, and then writing an alternate implementation with SPV semantics.
* | Merge pull request #2145 from sipa/checkcoinsGregory Maxwell2013-01-111-37/+89
|\ \ | | | | | | Coin database checks
| * | New database check routinePieter Wuille2013-01-041-12/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -checklevel gets a new meaning: 0: verify blocks can be read from disk (like before) 1: verify (contextless) block validity (like before) 2: verify undo files can be read and have good checksums 3: verify coin database is consistent with the last few blocks (close to level 6 before) 4: verify all validity rules of the last few blocks Level 3 is the new default, as it's reasonably fast. As level 3 and 4 are implemented using an in-memory rollback of the database, they are limited to as many blocks as possible without exceeding the limits set by -dbcache. The default of -dbcache=25 allows for some 150-200 blocks to be rolled back. In case an error is found, the application quits with a message instructing the user to restart with -reindex. Better instructions, and automatic recovery (when possible) or automatic reindexing are left as future work.
| * | Add checksums to undo dataPieter Wuille2013-01-031-15/+7
| | | | | | | | | | | | This should be compatible with older code that didn't write checksums.
| * | Make DisconnectBlock fault-tolerantPieter Wuille2013-01-031-18/+37
| | |
* | | Merge pull request #2115 from forrestv/getblocktemplate_allfeesPieter Wuille2013-01-101-10/+18
|\ \ \ | |_|/ |/| | Provide fee data for all txs in RPC getblocktemplate response
| * | changed CreateNewBlock to return a CBlockTemplate object, which includes ↵Forrest Voight2012-12-191-10/+18
| | | | | | | | | | | | per-tx fee and sigop count data
* | | Bitcoin-Qt: never display own block count > estimated block countPhilip Kaufmann2013-01-041-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | - some users reported it as weird, that the estimated block count could be lower than our own nodes block number (which is indeed true and not good) - this pull adds a new default behaviour, which displays our own block number as estimated block number, if own >= est. block count - the pull raises space for nodes block counts in cPeerBlockCounts to 8 to be more accurate - also removes a reduntant setNumBlocks() call in RPCConsole and moves initialisation of numBlocksAtStartup in ClientModel, where it belongs
* | Remove 'T' from remaining date/time format strings.Jeff Garzik2013-01-011-5/+5
|/
* Merge pull request #2096 from 94m3k1n9/fix-time-formatsPieter Wuille2012-12-131-5/+5
|\ | | | | Change timestamps to use ISO8601 formatting
| * Change timestamps to use ISO8601 formattingRichard Schwab2012-12-121-5/+5
| |
* | Merge pull request #2059 from sipa/benchmarkGavin Andresen2012-12-121-0/+20
|\ \ | | | | | | Add -benchmark for reporting block processing times
| * | Add -benchmark for reporting block processing timesPieter Wuille2012-12-051-0/+20
| | |
* | | Merge pull request #2062 from sipa/nocoinsGavin Andresen2012-12-121-13/+10
|\ \ \ | | | | | | | | Reconstruct coins/ database when missing
| * | | Reconstruct coins/ from scratch when missing.Pieter Wuille2012-12-061-13/+10
| | | |
* | | | Merge pull request #2074 from sipa/minorGavin Andresen2012-12-121-2/+6
|\ \ \ \ | |_|_|/ |/| | | Two minor inconvenience fixes
| * | | Allow lengthy block reconnections to be interruptedPieter Wuille2012-12-061-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the coin database is out of date with the block database, the best block in it is automatically switched to. This reconnection process can take time, so allow it to be interrupted. This also stops block connection as soon as shutdown is requested, leading to a faster shutdown.
| * | | Update the block file counter in database when using -reindexPieter Wuille2012-12-061-0/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | This problem is like earth (mostly harmless). After/during a -reindex, it means the statistics about the last block file reported in debug.log are always of blk00000.dat instead of the last file. Apart from that, it means a few more database entries need to be read when finding a file to append to the first time.
* | | Merge pull request #2068 from Diapolo/CheckDiskSpacePieter Wuille2012-12-071-15/+19
|\ \ \ | |/ / |/| | some CheckDiskSpace() related changes
| * | call CheckDiskSpace() before pre-allocating spacePhilip Kaufmann2012-12-051-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | - even if we are allowed to fail pre-allocating, it's better to check for sufficient space before calling AllocateFileRange() and if we are out of disk space return with error() - the above change allows us to remove the CheckDiskSpace() check in CBlock::AcceptBlock()
* | | Merge pull request #2057 from Diapolo/FlushBlockFilePieter Wuille2012-12-061-4/+8
|\ \ \ | | | | | | | | FlushBlockFile(): check for valid FILE pointer
| * | | FlushBlockFile(): check for valid FILE pointerPhilip Kaufmann2012-12-011-4/+8
| | | | | | | | | | | | | | | | | | | | - don't call FileCommit() and fclose() if no valid FILE pointer was returned by OpenBlockFile()
* | | | Merge pull request #2056 from sipa/fix_2052Pieter Wuille2012-12-051-3/+5
|\ \ \ \ | |_|_|/ |/| | | Fixes for obscure mempool-checkpoint interaction
| * | | Only send reorged txn to mempool after checkpointPieter Wuille2012-12-011-2/+4
| | | |
| * | | Enable script verification for reorganized mempool txPieter Wuille2012-12-011-1/+1
| | | |
* | | | Merge pull request #2063 from Diapolo/CDiskBlockPosPieter Wuille2012-12-051-3/+1
|\ \ \ \ | |_|_|/ |/| | | add 2 constructors in CDiskBlockPos to simplify class usage
| * | | add 2 constructors in CDiskBlockPos to simplify class usagePhilip Kaufmann2012-12-031-3/+1
| | |/ | |/| | | | | | | | | | | | | - add a default-constructor, which simply calls SetNull() and a constructor to directly pass nFile and nPos - change code to use that new constructors
* / | Make SetBestChain() atomicPieter Wuille2012-12-021-11/+11
|/ / | | | | | | | | | | | | | | In case a reorganisation fails, the internal state could become inconsistent (memory only). Previously, a cache per block connect or disconnect action was used, so blocks could not be applied in a partial way. Extend this to a cache for the entire reorganisation, making it atomic entirely. This also simplifies the code a bit.
* | Merge pull request #2033 from sipa/kickconflictsPieter Wuille2012-11-301-2/+26
|\ \ | | | | | | Bugfix: remove conflicting transactions from memory pool
| * | Bugfix: remove conflicting transactions from memory poolPieter Wuille2012-11-251-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2037 from luke-jr/printpriorityGavin Andresen2012-11-301-1/+2
|\ \ \ | |_|/ |/| | Allow -printpriority without -debug
| * | Allow -printpriority without -debugLuke Dashjr2012-11-261-1/+2
| | |
* | | update CClientUIInterface and remove orphan Wx stuffPhilip Kaufmann2012-11-261-3/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - fix ThreadSafeMessageBox always displays error icon - allow to specify MSG_ERROR / MSG_WARNING or MSG_INFORMATION without a custom caption / title - allow to specify CClientUIInterface::ICON_ERROR / ICON_WARNING and ICON_INFORMATION (which is default) as message box icon - remove CClientUIInterface::OK from ThreadSafeMessageBox-calls, as the OK button will be set as default, if none is specified - prepend "Bitcoin - " to used captions - rename BitcoinGUI::error() -> BitcoinGUI::message() and add function documentation - change all style parameters and enum flags to unsigned - update code to use that new API - update Client- and WalletModel to use new BitcoinGUI::message() and rename the classes error() method into message() - include the possibility to supply the wanted icon for messages from Client- and WalletModel via "style" parameter
* | Merge pull request #2013 from sipa/blockheaderPieter Wuille2012-11-241-10/+6
|\ \ | |/ |/| Split off CBlockHeader from CBlock
| * Split off CBlockHeader from CBlockPieter Wuille2012-11-161-10/+6
| | | | | | | | | | Cleaner and removes the need for the application-specific flags in serialize.h.
* | Merge pull request #1980 from sipa/noreorgsamePieter Wuille2012-11-221-1/+1
|\ \ | | | | | | Do not reorganize if new branch has same amount of work
| * | Do not reorganize if new branch has same amount of workPieter Wuille2012-11-051-1/+1
| | |
* | | ConnectBlock(): fix error() format to be unsignedPhilip Kaufmann2012-11-171-1/+1
| | | | | | | | | | | | | | | - I introduced the wrong format macro with my former patch (#2018), this needs to be signed not unsigned (thanks Luke-Jr)