dogecoin/src
Ross Nicoll bc8cca4896 Merge AuxPoW support from Namecore
Changes are as below:

Wrap CBlockHeader::nVersion into a new class (CBlockVersion).  This allows to take care of interpreting the field into a base version, auxpow flag and the chain ID.

Update getauxblock.py for new 'generate' RPC call.

Add 'auxpow' to block JSON.

Accept auxpow as PoW verification.

Add unit tests for auxpow verification.

Add check for memory-layout of CBlockVersion.

Weaken auxpow chain ID checks for the testnet.

Allow Params() to overrule when to check the auxpow chain ID and for legacy blocks.  Use this to disable the checks on testnet.

Introduce CPureBlockHeader.

Split the block header part that is used by auxpow and the "real" block header (that uses auxpow) to resolve the cyclic dependency between the two.

Differentiate between uint256 and arith_uint256.

This change was done upstream, modify the auxpow code.

Add missing lock in auxpow_tests.

Fix REST header check for auxpow headers.

Those can be longer, thus take that into account.  Also perform the check actually on an auxpow header.

Correctly set the coinbase for getauxblock results.

Call IncrementExtraNonce in getauxblock so that the coinbase is actually initialised with the stuff it should be.  (BIP30 block height and COINBASE_FLAGS.)

Implement getauxblock plus regression test.

Turn auxpow test into FIXTURE test.

This allows using of the Params() calls.

Move CMerkleTx code to auxpow.cpp.

Otherwise we get linker errors when building without wallet.

Fix rebase with BIP66.

Update the code to handle BIP66's nVersion=3.

Enforce that auxpow parent blocks have no auxpow block version.

This is for compatibility with namecoind.  See also https://github.com/namecoin/namecoin/pull/199.

Move auxpow-related parameters to Consensus::Params.
2018-09-19 19:22:45 +01:00
..
bench bench: Fix initialization order in registration 2017-02-07 19:07:29 +01:00
compat Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
config
consensus Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
crypto Litecoin: Scrypt n=1024 Pow hash based upon Colin Percival's Tarnsnap (2009) Modified by Artforz, coblee, pooler, wtogami, Nikolay Belikov, Adrian Gallagher 2018-09-19 19:21:49 +01:00
leveldb Merge in LevelDB 1.19 changes 2016-12-01 16:14:45 -08:00
obj
obj-test
policy Merge #9380: Separate different uses of minimum fees 2017-01-16 19:33:08 +01:00
primitives Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
qt Merge #10516: Backports for 0.14.3 2017-07-06 18:57:00 +02:00
rpc Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
script Ensure -maxsigcachesize is in valid range 2017-02-17 09:04:37 +01:00
secp256k1 Update libsecp256k1 to master 2016-12-12 11:08:47 -08:00
support [wallet] Securely erase potentially sensitive keys/values 2017-06-05 22:58:24 +00:00
test Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
univalue Merge commit '2ca7faab4205822b06dc2ab2bbda0a9a70fce7e0' into HEAD 2016-09-30 19:58:11 +02:00
wallet Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
zmq Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
.clang-format [doc] Remove unused clang format dev script 2017-01-28 16:57:08 +01:00
addrdb.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
addrdb.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
addrman.cpp Use z = std::max(x - y, 0); instead of z = x - y; if (z < 0) z = 0; 2017-02-07 15:46:38 +01:00
addrman.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
amount.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
amount.h Replace consensus values with Dogecoin equivalents 2018-09-19 19:21:48 +01:00
arith_uint256.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
arith_uint256.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
auxpow.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
auxpow.h Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
base58.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
base58.h [trivial] Fix typos in comments 2017-01-27 21:22:35 +01:00
bitcoin-cli-res.rc
bitcoin-cli.cpp rpc: Named argument support for bitcoin-cli 2017-01-10 12:04:54 +01:00
bitcoin-tx-res.rc
bitcoin-tx.cpp bitcoin-tx: Fix missing range check 2017-03-31 11:47:50 +02:00
bitcoind-res.rc
bitcoind.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
blockencodings.cpp Clarify comment about mempool/extra conflicts 2017-01-16 22:58:06 -05:00
blockencodings.h [trivial] Fix typos in comments 2017-01-27 21:22:35 +01:00
bloom.cpp Refactor: Remove using namespace <xxx> from src/*.cpp. 2017-01-27 18:13:20 +09:00
bloom.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
chain.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
chain.h Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
chainparams.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
chainparams.h Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
chainparamsbase.cpp Replace consensus values with Dogecoin equivalents 2018-09-19 19:21:48 +01:00
chainparamsbase.h
chainparamsseeds.h Pre-0.14.0 hardcoded seeds update 2017-02-10 11:04:34 +01:00
checkpoints.cpp [MOVEONLY] Move progress estimation out of checkpoints 2017-01-04 13:18:49 -08:00
checkpoints.h [MOVEONLY] Move progress estimation out of checkpoints 2017-01-04 13:18:49 -08:00
checkqueue.h Fix CCheckQueue IsIdle (potential) race condition and remove dangerous constructors. 2017-01-20 18:18:59 -05:00
clientversion.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
clientversion.h build: bump version to 0.14.2 2017-06-02 07:39:56 +02:00
coins.cpp Check FRESH validity in CCoinsViewCache::BatchWrite 2017-01-04 14:56:17 -05:00
coins.h Merge #9107: Safer modify new coins 2017-01-04 11:56:17 -08:00
compat.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
compressor.cpp
compressor.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
core_io.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
core_memusage.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
core_read.cpp Fail in DecodeHexTx if there is extra data at the end 2017-02-02 17:32:27 -05:00
core_write.cpp Refactor: Remove using namespace <xxx> from src/*.cpp. 2017-01-27 18:13:20 +09:00
cuckoocache.h [trivial] Fix typos in comments 2017-01-27 21:22:35 +01:00
dbwrapper.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
dbwrapper.h Merge #9353: Add data() method to CDataStream (and use it) 2017-01-09 08:47:47 -08:00
dogecoin.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
dogecoin.h Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
hash.cpp Remove redundant semicolons 2017-01-14 21:45:32 +01:00
hash.h Avoid VLA in hash.h 2017-02-28 12:48:19 +01:00
httprpc.cpp Make KEY_SIZE a compile-time constant 2017-02-17 21:50:14 +01:00
httprpc.h
httpserver.cpp Access WorkQueue::running only within the cs lock. 2017-02-03 13:50:17 -05:00
httpserver.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
indirectmap.h prepend license statement to indirectmap 2016-07-27 16:27:07 -07:00
init.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
init.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
key.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
key.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
keystore.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
keystore.h
limitedmap.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
Makefile.am Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
Makefile.bench.include Add Basic CheckQueue Benchmark 2017-01-09 14:07:02 -05:00
Makefile.leveldb.include Merge #8826: Do not include env_win.cc on non-Windows systems 2016-09-29 17:27:28 +02:00
Makefile.qt.include Merge #9513: build: fix qt distdir builds (retry) 2017-01-11 13:45:28 +01:00
Makefile.qttest.include Uses built-in byte swap if available (Apple) and if bswap_XX is undefined. 2016-12-17 12:27:00 +09:00
Makefile.test.include Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
memusage.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
merkleblock.cpp Trivial: remove extra character from comment 2017-06-05 22:58:53 +00:00
merkleblock.h Fixed typo in documentation for merkleblock.h 2017-06-05 22:58:53 +00:00
miner.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
miner.h Update benchmarking with package statistics 2017-03-30 15:18:02 -04:00
net.cpp [net] listbanned RPC and QT should show correct banned subnets 2017-06-05 22:56:05 +00:00
net.h net: define NodeId as an int64_t 2017-04-14 10:35:49 +02:00
net_processing.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
net_processing.h Net: pass interruptMsgProc as const where possible 2017-01-31 23:45:47 +01:00
netaddress.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
netaddress.h [trivial] Fix typos in comments 2017-01-27 21:22:35 +01:00
netbase.cpp Merge #9289: net: drop boost::thread_group 2017-01-04 12:21:53 +01:00
netbase.h Merge #9289: net: drop boost::thread_group 2017-01-04 12:21:53 +01:00
netmessagemaker.h Net: Make CNetMsgMaker more const 2017-01-31 23:29:28 +01:00
noui.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
noui.h
pow.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
pow.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
prevector.h prevector: assert successful allocation 2017-02-28 11:40:50 +01:00
protocol.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
protocol.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
pubkey.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
pubkey.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
random.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
random.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
rest.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
reverselock.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
scheduler.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
scheduler.h
serialize.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
streams.h Fix some empty vector references 2017-06-05 22:58:23 +00:00
sync.cpp Further-enforce lockordering by enforcing directly after TRY_LOCKs 2017-02-07 14:15:28 -05:00
sync.h Break addnode out from the outbound connection limits. 2017-01-05 19:02:09 +00:00
threadinterrupt.cpp net: add CThreadInterrupt and InterruptibleSleep 2017-01-03 17:53:09 -05:00
threadinterrupt.h net: add CThreadInterrupt and InterruptibleSleep 2017-01-03 17:53:09 -05:00
threadsafety.h
timedata.cpp Refactor: Remove using namespace <xxx> from src/*.cpp. 2017-01-27 18:13:20 +09:00
timedata.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
tinyformat.h util: Update tinyformat 2016-06-27 18:17:27 +02:00
torcontrol.cpp [trivial] Fix typos in comments 2017-01-27 21:22:35 +01:00
torcontrol.h
txdb.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
txdb.h Make threshold for flushing more conservative. 2017-04-05 08:23:02 +02:00
txmempool.cpp Bugfix: PrioritiseTransaction updates the mempool tx counter 2017-04-19 20:10:02 +00:00
txmempool.h Bugfix: PrioritiseTransaction updates the mempool tx counter 2017-04-19 20:10:02 +00:00
ui_interface.cpp [wallet] Add high transaction fee warnings 2016-09-26 01:11:27 +02:00
ui_interface.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
uint256.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
uint256.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
undo.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
util.cpp util: Work around (virtual) memory exhaustion on 32-bit w/ glibc 2017-03-31 11:48:59 +02:00
util.h Merge #9417: Do not evaluate hidden LogPrint arguments 2017-01-05 10:49:00 +01:00
utilmoneystr.cpp
utilmoneystr.h
utilstrencodings.cpp Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
utilstrencodings.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
utiltime.cpp [trivial] Fix typos in comments 2017-01-27 21:22:35 +01:00
utiltime.h net: Consistently use GetTimeMicros() for inactivity checks 2017-01-25 09:48:14 -05:00
validation.cpp Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
validation.h Merge AuxPoW support from Namecore 2018-09-19 19:22:45 +01:00
validationinterface.cpp Add a CValidationInterface::NewPoWValidBlock callback 2017-01-05 10:32:07 -05:00
validationinterface.h Better document usage of SyncTransaction 2017-01-23 15:43:22 -05:00
version.h Annotate work to be done to Dogecoin-ify 2018-09-19 19:21:49 +01:00
versionbits.cpp Don't require segwit in getblocktemplate for segwit signalling or mining 2017-03-16 10:43:54 -04:00
versionbits.h RPC: augment getblockchaininfo bip9_softforks data 2016-10-19 09:08:39 -04:00
warnings.cpp Move GetWarnings() into its own file. 2016-12-03 07:17:34 +00:00
warnings.h Move GetWarnings() into its own file. 2016-12-03 07:17:34 +00:00