aboutsummaryrefslogtreecommitdiff
path: root/src/main.h
AgeCommit message (Collapse)Author
2012-09-05Merge branch 'testnet_alert' of git://github.com/gavinandresen/bitcoin-gitGavin Andresen
2012-08-28Refactor: move alert code from main to alert.cpp/hGavin Andresen
2012-08-28Changed nprev->pprevxanatos
It should be pprev, because the next one is pnext, and it's printing the memory address of the CBlockIndex (so pSomething).
2012-08-26Alert system DoS preventionGavin Andresen
This fixes two alert system vulnerabilities found by Sergio Lerner; you could send peers unlimited numbers of invalid alert message to try to either fill up their debug.log with messages and/or keep their CPU busy checking signatures. Fixed by disconnecting/banning peers if they send 10 or more bad (invalid/expired/cancelled) alerts.
2012-08-20Block height in coinbase as a new block ruleGavin Andresen
"Version 2" blocks are blocks that have nVersion=2 and have the block height as the first item in their coinbase. Block-height-in-the-coinbase is strictly enforced when version=2 blocks are a supermajority in the block chain (750 of the last 1,000 blocks on main net, 51 of 100 for testnet). This does not affect old clients/miners at all, which will continue producing nVersion=1 blocks, and which will continue to be valid.
2012-08-20Merge pull request #1641 from jgarzik/mempoolJeff Garzik
Add 'mempool' P2P command, and extend 'getdata' behavior
2012-08-01Merge pull request #1612 from luke-jr/opti_getblkhashGregory Maxwell
Optimize JSON-RPC getblockhash
2012-08-01Optimize JSON-RPC getblockhashLuke Dashjr
- If the height is in the first half, start at the genesis block and go up, rather than at the top - Cache the last lookup and use it as a reference point if it's close to the next request, to make linear lookups always fast
2012-08-01Bugfix: Use standard BTC unit in commentsLuke Dashjr
2012-07-31Add 'mempool' P2P command, and extend 'getdata' behaviorJeff Garzik
to permit downloading of mempool transactions from the remote peer.
2012-07-12Tests for CreateNewBlockLuke Dashjr
2012-07-11Merge branch 'checknewblock_0.6.0' into checknewblockLuke Dashjr
Conflicts: src/main.cpp
2012-07-06Treat non-version-1 transactions as non-standardGavin Andresen
Adds CBlock::CURRENT_VERSION and CTransaction::CURRENT_VERSION constants, and makes non-CURRENT_VERSION transactions nonstandard. This will help make future upgrades smoother.
2012-07-04CTxMemPool: eliminate redundant lock, GetHash() callJeff Garzik
::addUnchecked()'s only caller already takes the necessary lock, and has already calculated the TX's hash.
2012-06-22RPC: add 'getrawmempool', listing all transaction ids in memory poolJeff Garzik
2012-05-27CreateNewBlock: Check that the produced CBlock is acceptable (except for ↵Luke Dashjr
proof-of-work and merkletree, since those need to be provided later) This throws an exception from CreateNewBlock otherwise, which is not safe without #1245!
2012-05-23JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to networkJeff Garzik
2012-05-22Prevent crashes due to missing or corrupted blk????.dat recordsJeff Garzik
In LoadExternalBlockFile(), errors are already caught... silently. Add a warning message, even though we do not abort the program due to load error.
2012-05-20Merge pull request #1354 from fanquake/masterPieter Wuille
Update Header Licenses
2012-05-20Fine-grained UI updatesWladimir J. van der Laan
Gets rid of `MainFrameRepaint` in favor of specific update functions that tell the UI exactly what changed. This improves the efficiency of various handlers. Also fixes problems with mined transactions not showing up until restart. The following notifications were added: - `NotifyBlocksChanged`: Block chain changed - `NotifyKeyStoreStatusChanged`: Wallet status (encrypted, locked) changed. - `NotifyAddressBookChanged`: Address book entry changed. - `NotifyTransactionChanged`: Wallet transaction added, removed or updated. - `NotifyNumConnectionsChanged`: Number of connections changed. - `NotifyAlertChanged`: New, updated or cancelled alert. As this finally makes it possible for the UI to know when a new alert arrived, it can be shown as OS notification. These notifications could also be useful for RPC clients. However, currently, they are ignored in bitcoind (in noui.cpp). Also brings back polling with timer for numBlocks in ClientModel. This value updates so frequently during initial download that the number of signals clogs the UI thread and causes heavy CPU usage. And after initial block download, the value changes so rarely that a delay of half a second until the UI updates is unnoticable.
2012-05-19Merge pull request #1296 from Diapolo/CheckDiskSpaceGavin Andresen
make CheckDiskSpace() use 50 * 1024 * 1024 Bytes
2012-05-18Update License in File HeadersFordy
I originally created a pull to replace the "COPYING" in crypter.cpp and crypter.h, but it turned out that COPYING was actually the correct file.
2012-05-17fix RenameOver() and FileCommit() functions, to not generate compilation errorsPhilip Kaufmann
2012-05-17Merge pull request #1316 from jgarzik/dead-codeJeff Garzik
Remove dead code: CTxDB::EraseBlockIndex(), CBlockIndex::EraseBlockFromDisk()
2012-05-16Add new utility functions FileCommit(), RenameOver()Jeff Garzik
2012-05-15Remove dead code: CTxDB::EraseBlockIndex(), CBlockIndex::EraseBlockFromDisk()Jeff Garzik
2012-05-14make CheckDiskSpace() use a global static const uint64 for checking required ↵Philip Kaufmann
disk space and remove 2 ugly spaces from a message string
2012-05-11Split synchronization mechanisms from util.{h,cpp}Pieter Wuille
2012-05-09Clean up warningsPieter Wuille
* Use -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameters * Remove xCXXFLAGS usage in makefile.unix * Fix several recent and older sign-compare warnings
2012-05-08Merge pull request #1180 from jgarzik/sign-compareJeff Garzik
Fix final sign comparison warnings
2012-05-08Merge pull request #841 from sipa/getalltransactionsGregory Maxwell
gettransaction RPC for non-wallet transactions
2012-05-08Merge pull request #883 from sipa/loadblockGregory Maxwell
Add -loadblock to load from an external blk000?.dat file
2012-05-01CDiskTxPos, CInPoint, COutPoint: cast null value (-1) to unsigned intJeff Garzik
to eliminate signed/unsigned comparison warnings
2012-04-23CBlock::WriteToDisk() properly checks ftell(3) for error returnJeff Garzik
Rather than storing ftell(3)'s return value -- a long -- in an unsigned int, we store and check a properly typed temp. Then, assured a non-negative value, we store in nBlockPosRet.
2012-04-23Add casts for unavoidable signed/unsigned comparisonsJeff Garzik
At these code sites, it is preferable to cast rather than change a variable's type.
2012-04-23SigOp and orphan-tx constants and counts are always unsigned.Jeff Garzik
Fixes several sign-comparison warnings.
2012-04-22-loadblock to load from an external blk000?.dat filePieter Wuille
2012-04-21change type of various bare chars to bool that are only used as bool (and ↵Wladimir J. van der Laan
never serialized)
2012-04-18gettransaction RPC for non-wallet transactionsPieter Wuille
Works for wallet transactions, memory-pool transaction and block chain transactions. Available for all: * txid * version * locktime * size * coinbase/inputs/outputs * confirmations Available only for wallet transactions: * amount * fee * details * blockindex Available for wallet transactions and block chain transactions: * blockhash * time
2012-04-17Merge remote-tracking branch 'jgarzik/mempool'Pieter Wuille
2012-04-17Further reduce header dependenciesPieter Wuille
This commit removes the dependency of serialize.h on PROTOCOL_VERSION, and makes this parameter required instead of implicit. This is much saner, as it makes the places where changing a version number can have an influence obvious.
2012-04-17Move CWalletDB code to new walletdb module.Jeff Garzik
In addition to standard code separation, this change opens the door to fixing several include inter-dependencies.
2012-04-17Remove headers.hPieter Wuille
2012-04-15Fix loop index var types, fixing many minor sign comparison warningsJeff Garzik
foo.size() typically returns an unsigned integral type; make loop variables match those types' signedness.
2012-04-15CTxMemPool: add helper methods, to reduce global mempool.mapTx accessesJeff Garzik
2012-04-15CTxMemPool: encapsulate AcceptToMemoryPoolJeff Garzik
2012-04-15CTxMemPool: encapsulate AddToMemoryPoolUnchecked(), RemoveFromMemoryPool(),Jeff Garzik
and nPooledTx
2012-04-15New class CTxMemPool, encapsulating TX memory pool data membersJeff Garzik
2012-04-15fix warnings: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]Wladimir J. van der Laan
2012-04-13Database micro-optimization for "tx" network messageJeff Garzik
Open database once per "tx" message, rather than multiple times, in the case of orphan transaction presence. As a side effect, a now-unused CTransaction::AcceptToMemoryPool() variant is removed.