aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2013-07-22Detect any sufficiently long fork and add a warning.Matt Corallo
Such a fork is defined as being at least 7 blocks long and having a tip which is within 72 blocks of our best block.
2013-07-10Merge pull request #2743 from jgarzik/reject-reasonJeff Garzik
Log reason for non-standard transaction rejection
2013-06-25Merge pull request #2209 from CodeShark/WalletRegistrationLocksPieter Wuille
Wallet registration locks in main.cpp + UnregisterAllWallet() function
2013-06-25Merge pull request #2792 from sipa/coreimplJeff Garzik
Move core implementations to core.cpp
2013-06-25Truncate oversize 'tx' messages before relaying/storing.Peter Todd
Fixes a memory exhaustion attack on low-memory peers.
2013-06-25Move core implementations to core.cppPieter Wuille
2013-06-24Added locks on the setpwalletRegistered functions in main.cpp and added an ↵Eric Lombrozo
UnregisterAllWallets function.
2013-06-23Pulled AcceptBlock out of CBlock.Eric Lombrozo
2013-06-23Pulled CheckBlock out of CBlock.Eric Lombrozo
2013-06-23Pulled AddToBlockIndex out of CBlock.Eric Lombrozo
2013-06-23Pulled ConnectBlock out of CBlock.Eric Lombrozo
2013-06-23Pulled DisconnectBlock out of CBlock.Eric Lombrozo
2013-06-23Moved ReadBlockFromDisk implementation to main.cppEric Lombrozo
2013-06-23Moved CBlock::ReadFromDisk out of CBlock to functions ReadBlockFromDisk in ↵Eric Lombrozo
main.h
2013-06-23Moved WriteBlockToDisk implementation from main.h to main.cppEric Lombrozo
2013-06-23Moved CBlock::WriteToDisk out of CBlock to inline function WriteBlockToDisk ↵Eric Lombrozo
in main.h
2013-06-22Merge pull request #2778 from jgarzik/rpc-verifydbJeff Garzik
RPC: add 'verifychain' to verify chain database at runtime
2013-06-23Log reason for non-standard transaction rejectionJeff Garzik
2013-06-22Merge pull request #2660 from TheBlueMatt/gmfrefactorPieter Wuille
Refactor fee rules to make them actually readable.
2013-06-19RPC: add 'verifychain', to verify chain database at runtimeJeff Garzik
2013-06-19Pass check level, check depth to VerifyDB()Jeff Garzik
2013-06-19Introduce a CChainParameters singleton class and regtest mode.Mike Hearn
The new class is accessed via the Params() method and holds most things that vary between main, test and regtest networks. The regtest mode has two purposes, one is to run the bitcoind/bitcoinj comparison tool which compares two separate implementations of the Bitcoin protocol looking for divergence. The other is that when run, you get a local node which can mine a single block instantly, which is highly convenient for testing apps during development as there's no need to wait 10 minutes for a block on the testnet.
2013-06-19Move implementation of some CBlockLocator methodsMike Hearn
Move out of main.h to improve compile times and add documentation for what the methods do.
2013-06-14Refactor fee rules to make them actually readable.Matt Corallo
This (nearly) doesn't change fee rules at all: * To make it into the fee transaction area, the dPriority comparison changed from < to <= * We now just ignore transactions > MAX_BLOCK_SIZE/4 instead of doing some calculations to require increasingly large fees as size increases.
2013-06-13Remove broken option to skip input checking for wallet txn.Matt Corallo
2013-06-05Using boost::signals2 to message main from net.cpp.Eric Lombrozo
2013-06-05Moved UpdateTime out of CBlockHeader and moved CBlockHeader into core.Eric Lombrozo
2013-06-05Removed AcceptToMemoryPool method from CTransaction. This method belongs to ↵Eric Lombrozo
the mempool instance. Removed AreInputsStandard from CTransaction, made it a regular function in main. Moved CTransaction::GetOutputFor to CCoinsViewCache. Moved GetLegacySigOpCount and GetP2SHSigOpCount out of CTransaction into regular functions in main. Moved GetValueIn and HaveInputs from CTransaction into CCoinsViewCache. Moved AllowFree, ClientCheckInputs, CheckInputs, UpdateCoins, and CheckTransaction out of CTransaction and into main. Moved IsStandard and IsFinal out of CTransaction and put them in main as IsStandardTx and IsFinalTx. Moved GetValueOut out of CTransaction into main. Moved CTxIn, CTxOut, and CTransaction into core. Added minimum fee parameter to CTxOut::IsDust() temporarily until CTransaction is moved to core.h so that CTxOut needn't know about CTransaction.
2013-06-05Moved CInPoint to core. Removed GetMinFee from CTransaction and made it a ↵Eric Lombrozo
regular function in main.
2013-06-05Moved PushGetBlocks to main.cpp to eliminate dependence of net.cpp on ↵Eric Lombrozo
CBlockLocator.
2013-06-04build: add global var for whether or not the gui is enabledCory Fields
2013-06-01remove GetBoolArg() fDefault parameter defaulting to falsePhilip Kaufmann
- explicitly set the default of all GetBoolArg() calls - rework getarg_test.cpp and util_tests.cpp to cover this change - some indentation fixes - move macdockiconhandler.h include in bitcoin.cpp to the "our headers" section
2013-05-30Merge pull request #2644 from sipa/constfindblockJeff Garzik
Make FindBlockByHeight constant-time
2013-05-30Merge pull request #2657 from gmaxwell/its_after_may15_foreverJeff Garzik
It's after 2013-05-15 forever now, so remove the code for the May 15 fork
2013-05-22More bestblock records in walletsPieter Wuille
Write bestblock records in wallets: * Every 20160 blocks synced, no matter what (before: none during IBD) * Every 144 blocks after IBD (before: for every block, slow) * When creating a new wallet * At shutdown This should result in far fewer spurious rescans.
2013-05-21CreateNewBlock performance improvementsPieter Wuille
2013-05-16It's after 2013-05-15 forever now, so remove the code for the May 15 fork.Gregory Maxwell
2013-05-12Make FindBlockByHeight constant-time.Pieter Wuille
Remove the pnext pointer in CBlockIndex, and replace it with a vBlockIndexByHeight vector (no effect on memory usage). pnext can now be replaced by vBlockIndexByHeight[nHeight+1], but FindBlockByHeight becomes constant-time. This also means the entire mapBlockIndex structure and the block index entries in it become purely blocktree-related data, and independent from the currently active chain, potentially allowing them to be protected by separate mutexes in the future.
2013-05-04Merge pull request #2577 from gavinandresen/fee_bandaidGavin Andresen
Treat dust outputs as non-standard, un-hardcode TX_FEE constants
2013-05-03Un-hardcode TX_FEE constantsGavin Andresen
Allow setting of MIN_TX_FEE / MIN_RELAY_TX_FEE with -mintxfee / -mintxrelayfee Default values are the same (0.0001 BTC).
2013-05-03Define dust transaction outputs, and make them non-standardGavin Andresen
2013-04-25Allow the default key to be unavailablePieter Wuille
This solves the issue where no default key can be added after -salvagewallet.
2013-04-18Do not invoke DoS for non-canonical sigsPieter Wuille
2013-04-14Require strictly-standard encodings in mempoolPieter Wuille
2013-04-12Use a uint256 for bnChainWorkPieter Wuille
Every block index entry currently requires a separately-allocated CBigNum. By replacing them with uint256, it's just 32 bytes extra in CBlockIndex itself. This should save us a few megabytes in RAM, and less allocation overhead.
2013-04-09Merge pull request #2478 from sipa/fullhashGavin Andresen
Always print full hashes (tx, block, inv)
2013-04-07Make sure we always have a node to do IBD fromPieter Wuille
This introduces the concept of the 'sync node', which is the one we asked for missing blocks. In case the sync node goes away, a new one will be selected. For now, the heuristic is very simple, but it can easily be extended later to add better policies.
2013-04-07Always print full hashes (tx, block, inv)Pieter Wuille
2013-04-06small indentation, space, formatting fixes (no code changes)Philip Kaufmann
2013-04-03Merge pull request #2423 from TheBlueMatt/limitedmapalreadyaskedforGavin Andresen
Limited mapAlreadyAskedFor