FLO-wallet-core/src
Alex Morcos 553cad94e2 Rewrite CreateNewBlock
Use the score index on the mempool to only add sorted txs in order.  Remove much of the validation while building the block, relying on mempool to be consistent and only contain txs that can be mined.
The mempool is assumed to be consistent as far as not containing txs which spend non-existent outputs or double spends, and scripts are valid.  Finality of txs is still checked (except not coinbase maturity, assumed in mempool).
Still TestBlockValidity in case mempool consistency breaks and return error state if an invalid block was created.
Unit tests are modified to realize that invalid blocks can now be constructed if the mempool breaks its consistency assumptions and also updated to have the right fees, since the cached value is now used for block construction.

Conflicts:
	src/miner.cpp
2015-12-01 12:09:37 -05:00
..
bench [Trivial] ensure minimal header conventions 2015-10-27 17:44:13 +01:00
compat
config
consensus Switch blocks to a constant-space Merkle root/branch algorithm. 2015-11-27 15:36:52 +01:00
crypto
leveldb Update LevelDB 2015-11-04 23:46:47 +01:00
obj
obj-test
policy Change default block priority size to 0 2015-11-30 16:16:24 -05:00
primitives Merge pull request #6914 2015-12-01 10:22:14 +01:00
qt qt: periodic translations update 2015-12-01 13:26:50 +01:00
script Merge pull request #6914 2015-12-01 10:22:14 +01:00
secp256k1 Merge commit '5ad54630935d1f340666de7bc9ffef9b8a1df296' into HEAD 2015-11-24 09:22:18 +01:00
support
test Rewrite CreateNewBlock 2015-12-01 12:09:37 -05:00
univalue
wallet Merge pull request #7136 2015-12-01 10:23:05 +01:00
zmq zmq: prepend zmq to debug messages 2015-11-19 13:32:14 +11:00
.clang-format [trivial] clang-format: Set AlignAfterOpenBracket: false 2015-11-05 23:28:02 +01:00
addrman.cpp
addrman.h
alert.cpp
alert.h
amount.cpp
amount.h Add CFeeRate += operator 2015-10-13 01:04:39 -07:00
arith_uint256.cpp
arith_uint256.h
base58.cpp
base58.h
bitcoin-cli-res.rc
bitcoin-cli.cpp Constrain constant values to a single location in code 2015-11-28 18:47:29 +01:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Switch to libsecp256k1-based validation for ECDSA 2015-11-15 16:06:57 +01:00
bitcoind-res.rc
bitcoind.cpp Initialize logging before we do parameter interaction 2015-11-27 13:26:28 +01:00
bloom.cpp
bloom.h
chain.cpp Allow block announcements with headers 2015-11-29 11:59:23 +01:00
chain.h
chainparams.cpp Switch blocks to a constant-space Merkle root/branch algorithm. 2015-11-27 15:36:52 +01:00
chainparams.h Trivial: Fix warning introduced by #7053 by casting to uint64_t 2015-11-29 21:19:37 +01:00
chainparamsbase.cpp Chainparams: Translations: DRY: options and error strings 2015-10-20 14:28:43 +02:00
chainparamsbase.h Chainparams: Translations: DRY: options and error strings 2015-10-20 14:28:43 +02:00
chainparamsseeds.h
checkpoints.cpp
checkpoints.h
checkqueue.h
clientversion.cpp
clientversion.h
coincontrol.h Move fPayAtLeastCustomFee function to CC 2015-11-30 14:09:04 +01:00
coins.cpp Change GetPriority calculation. 2015-11-19 21:44:35 -05:00
coins.h Merge pull request #6942 2015-11-28 14:17:50 +01:00
compat.h Set TCP_NODELAY on P2P sockets. 2015-10-22 17:57:48 +00:00
compressor.cpp
compressor.h
core_io.h
core_memusage.h Prevector type 2015-11-13 18:15:20 +01:00
core_read.cpp
core_write.cpp
dbwrapper.cpp leveldbwrapper file rename to dbwrapper.* 2015-10-22 21:33:06 -04:00
dbwrapper.h constify missing catch cases 2015-10-27 17:39:42 +01:00
hash.cpp
hash.h Prevector type 2015-11-13 18:15:20 +01:00
httprpc.cpp Added additional config option for multiple RPC users. 2015-11-29 08:34:20 -05:00
httprpc.h
httpserver.cpp http: add Boost 1.49 compatibility 2015-11-20 10:14:21 +01:00
httpserver.h http: speed up shutdown 2015-11-13 11:10:48 +01:00
init.cpp Merge pull request #7136 2015-12-01 10:23:05 +01:00
init.h Initialize logging before we do parameter interaction 2015-11-27 13:26:28 +01:00
key.cpp Update key.cpp to new secp256k1 API 2015-11-13 00:12:53 +01:00
key.h
keystore.cpp
keystore.h
limitedmap.h
main.cpp Expose FormatStateMessage 2015-12-01 10:10:25 -05:00
main.h Expose FormatStateMessage 2015-12-01 10:10:25 -05:00
Makefile.am Merge pull request #6914 2015-12-01 10:22:14 +01:00
Makefile.bench.include build: Split hardening/fPIE options out 2015-11-09 22:50:31 -05:00
Makefile.qt.include build: Use fPIC rather than fPIE for qt objects. 2015-11-09 22:50:31 -05:00
Makefile.qttest.include build: Use fPIC rather than fPIE for qt objects. 2015-11-09 22:50:31 -05:00
Makefile.test.include Merge pull request #6914 2015-12-01 10:22:14 +01:00
memusage.h Prevector type 2015-11-13 18:15:20 +01:00
merkleblock.cpp
merkleblock.h
miner.cpp Rewrite CreateNewBlock 2015-12-01 12:09:37 -05:00
miner.h Constrain constant values to a single location in code 2015-11-28 18:47:29 +01:00
mruset.h
net.cpp Merge pull request #7079 2015-12-01 09:02:33 +01:00
net.h Merge pull request #7079 2015-12-01 09:02:33 +01:00
netbase.cpp [trivial] Reuse translation and cleanup DEFAULT_* values 2015-11-28 19:01:11 +01:00
netbase.h [trivial] Reuse translation and cleanup DEFAULT_* values 2015-11-28 19:01:11 +01:00
noui.cpp
noui.h
pow.cpp Added fPowNoRetargeting field to Consensus::Params that disables nBits recalculation. 2015-10-19 14:25:21 -04:00
pow.h
prevector.h Prevector type 2015-11-13 18:15:20 +01:00
protocol.cpp
protocol.h
pubkey.cpp Switch to libsecp256k1-based validation for ECDSA 2015-11-15 16:06:57 +01:00
pubkey.h Switch to libsecp256k1-based validation for ECDSA 2015-11-15 16:06:57 +01:00
random.cpp
random.h
rest.cpp Globals: Explicit Consensus::Params arg for main: 2015-10-30 14:07:30 +01:00
reverselock.h
rpcblockchain.cpp Add a score index to the mempool. 2015-12-01 10:10:25 -05:00
rpcclient.cpp Expose RPC calls for estimatesmart functions 2015-11-16 15:42:31 -05:00
rpcclient.h
rpcmining.cpp Constrain constant values to a single location in code 2015-11-28 18:47:29 +01:00
rpcmisc.cpp Fix crash in validateaddress with -disablewallet 2015-11-09 08:44:19 +01:00
rpcnet.cpp Add relaytxes status to getpeerinfo 2015-11-20 16:07:12 -08:00
rpcprotocol.cpp
rpcprotocol.h
rpcrawtransaction.cpp [RPC] Add transaction size to JSON output 2015-11-28 17:06:56 +03:00
rpcserver.cpp Expose RPC calls for estimatesmart functions 2015-11-16 15:42:31 -05:00
rpcserver.h Expose RPC calls for estimatesmart functions 2015-11-16 15:42:31 -05:00
scheduler.cpp
scheduler.h
serialize.h Prevector type 2015-11-13 18:15:20 +01:00
streams.h
sync.cpp
sync.h
threadsafety.h
timedata.cpp Move time data log print to 'net' category to reduce log noise 2015-11-22 06:48:25 +00:00
timedata.h
tinyformat.h
torcontrol.cpp torcontrol: only output disconnect if -debug=tor 2015-11-30 22:20:43 +11:00
torcontrol.h torcontrol improvements and fixes 2015-11-12 17:58:15 +01:00
txdb.cpp Fix chainstate serialized_size computation 2015-10-28 01:05:32 +01:00
txdb.h leveldbwrapper file rename to dbwrapper.* 2015-10-22 21:33:06 -04:00
txmempool.cpp Add a score index to the mempool. 2015-12-01 10:10:25 -05:00
txmempool.h Make accessing mempool parents and children public 2015-12-01 10:10:25 -05:00
ui_interface.h NotifyBlockTip signal: switch from hash (uint256) to CBlockIndex* 2015-11-30 08:50:59 +01:00
uint256.cpp
uint256.h uint256::GetCheapHash bigendian compatibility 2015-11-25 16:19:24 +08:00
undo.h
util.cpp [trivial] Reuse translation and cleanup DEFAULT_* values 2015-11-28 19:01:11 +01:00
util.h [qt] Move GUI related HelpMessage() part downstream 2015-11-28 19:01:26 +01:00
utilmoneystr.cpp
utilmoneystr.h
utilstrencodings.cpp
utilstrencodings.h
utiltime.cpp Assert now > 0 in GetTime GetTimeMillis GetTimeMicros 2015-11-24 18:39:19 -08:00
utiltime.h Add option for microsecond precision in debug.log 2015-10-26 15:05:37 -04:00
validationinterface.cpp
validationinterface.h
version.h Allow block announcements with headers 2015-11-29 11:59:23 +01:00