aboutsummaryrefslogtreecommitdiff
path: root/src/main.h
AgeCommit message (Collapse)Author
2013-10-15Move CBlockLocator to core.hPieter Wuille
As CBlockLocator is a P2P data structure, and independent from the validation logic, it can be moved to core.
2013-10-15Reimplement CBlockLocator's chain-related logic in CChain.Pieter Wuille
This removes a few unused CBlockLocator methods, and moves the construction and fork-finding logic to CChain (which can do these more efficiently, as it has a height-indexable chain available). It also makes CBlockLocator independent from the validation code.
2013-10-11Refactor/encapsulate chain globals into a CChain classPieter Wuille
2013-09-25internal miner: move 2 globals from main to minerPhilip Kaufmann
- moves 2 global variables from main.cpp/h to miner.cpp/h - also removes 2 unneded includes in miner.cpp, that come from miner.h already
2013-09-22Merge pull request #2949 from gmaxwell/fewer_fee_footgunsGavin Andresen
[raw] reject insanely high fees by default in sendrawtransaction
2013-09-20fix some printf -> LogPrintf leftoversPhilip Kaufmann
2013-09-19Bugfix: nHeightLast instead of nHeightFirstPieter Wuille
2013-09-18Replace printf with LogPrintf / LogPrintGavin Andresen
2013-09-05autotools: switch to autotools buildsystemCory Fields
2013-08-28[raw] reject insanely high fees by default in sendrawtransactionGregory Maxwell
There have been several incidents where mainnet experimentation with raw transactions resulted in insane fees. This is hard to prevent in the raw transaction api because the inputs may not be known. Since sending doesn't work if the inputs aren't known, we can catch it there. This rejects fees > than 10000 * nMinRelayTxFee or 1 BTC with the defaults and can be overridden with a bool at the rpc.
2013-08-15Mempool consistency checkPieter Wuille
2013-08-02Simplify storage of orphan transactionsGavin Andresen
Orphan transactions were stored as a CDataStream pointer; this changes the mapOrphanTransactions data structures to store orphans as a CTransaction. This also fixes CVE-2013-4627 by always re-serializing transactions before relaying them.
2013-07-31Move internal miner/block creation to separate miner.cpp module.Jeff Garzik
Public functions referenced elsewhere are added to miner.h.
2013-07-31Minor miner fixes (hey hey it's fun to say)Jeff Garzik
* Fix UpdateCoins() definition in main.h * Remove pwalletMain reference from BitcoinMiner(), as it is passed a wallet argument.
2013-07-10Merge pull request #2743 from jgarzik/reject-reasonJeff Garzik
Log reason for non-standard transaction rejection
2013-06-24Calling UnregisterAllWallets() instead of UnregisterWallet(pwalletMain) in ↵Eric Lombrozo
init.cpp
2013-06-23Moved CBlock from main.h to core.hEric Lombrozo
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-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-06Removed the main.h include from net.cpp.Eric Lombrozo
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-05Moved CCoins, CTxOutCompressor, CTxInUndo, and CTxUndo to 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-05Created core.h/core.cpp, added to makefiles. Started moving core structures ↵Eric Lombrozo
from main to core beginning with COutPoint.
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-05-30Merge pull request #2644 from sipa/constfindblockJeff Garzik
Make FindBlockByHeight constant-time
2013-05-21CreateNewBlock performance improvementsPieter Wuille
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-05-01Improve gettxoutsetinfo commandPieter Wuille
* Bugfix: output the correct best block hash (during IBD, it can differ from the actual current best block) * Add height to output * Add hash_serialized, which is a hash of the entire UTXO state. Can be useful to compare two nodes. * Add total_amount, the sum of all UTXOs' values.