aboutsummaryrefslogtreecommitdiff
path: root/src/pow.cpp
AgeCommit message (Collapse)Author
2022-12-24scripted-diff: Bump copyright headersHennadii Stepanov
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT- Commits of previous years: - 2021: f47dda2c58b5d8d623e0e7ff4e74bc352dfa83d7 - 2020: fa0074e2d82928016a43ca408717154a1c70a4db - 2019: aaaaad6ac95b402fe18d019d67897ced6b316ee0
2022-08-23Add function to validate difficulty changesSuhas Daftuar
The rule against difficulty adjustments changing by more than a factor of 4 can be helpful for anti-DoS measures in contexts where we lack a full headers chain, so expose this functionality separately and in the narrow case where we only know the height, new value, and old value. Includes fuzz test by Martin Zumsande.
2018-07-27Update copyright headers to 2018DrahtBot
2018-01-03Increment MIT Licence copyright header year on files modified in 2017Akira Takizawa
2017-11-16scripted-diff: Replace #include "" with #include <> (ryanofsky)MeshCollider
-BEGIN VERIFY SCRIPT- for f in \ src/*.cpp \ src/*.h \ src/bench/*.cpp \ src/bench/*.h \ src/compat/*.cpp \ src/compat/*.h \ src/consensus/*.cpp \ src/consensus/*.h \ src/crypto/*.cpp \ src/crypto/*.h \ src/crypto/ctaes/*.h \ src/policy/*.cpp \ src/policy/*.h \ src/primitives/*.cpp \ src/primitives/*.h \ src/qt/*.cpp \ src/qt/*.h \ src/qt/test/*.cpp \ src/qt/test/*.h \ src/rpc/*.cpp \ src/rpc/*.h \ src/script/*.cpp \ src/script/*.h \ src/support/*.cpp \ src/support/*.h \ src/support/allocators/*.h \ src/test/*.cpp \ src/test/*.h \ src/wallet/*.cpp \ src/wallet/*.h \ src/wallet/test/*.cpp \ src/wallet/test/*.h \ src/zmq/*.cpp \ src/zmq/*.h do base=${f%/*}/ relbase=${base#src/} sed -i "s:#include \"\(.*\)\"\(.*\):if test -e \$base'\\1'; then echo \"#include <\"\$relbase\"\\1>\\2\"; else echo \"#include <\\1>\\2\"; fi:e" $f done -END VERIFY SCRIPT-
2017-08-07scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal ↵practicalswift
instead of the macro NULL -BEGIN VERIFY SCRIPT- sed -i 's/\<NULL\>/nullptr/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h src/qt/*/*.cpp src/qt/*/*.h src/wallet/*/*.cpp src/wallet/*/*.h src/support/allocators/*.h sed -i 's/Prefer nullptr, otherwise SAFECOOKIE./Prefer NULL, otherwise SAFECOOKIE./g' src/torcontrol.cpp sed -i 's/tor: Using nullptr authentication/tor: Using NULL authentication/g' src/torcontrol.cpp sed -i 's/METHODS=nullptr/METHODS=NULL/g' src/test/torcontrol_tests.cpp src/torcontrol.cpp sed -i 's/nullptr certificates/NULL certificates/g' src/qt/paymentserver.cpp sed -i 's/"nullptr"/"NULL"/g' src/torcontrol.cpp src/test/torcontrol_tests.cpp -END VERIFY SCRIPT-
2017-02-15pow: GetNextWorkRequired never called with NULL pindexLastDaniel Cousens
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-04-27Deprecating the remaining LogPrintf dependencies that were made obsolete in ↵21E14
PR #7459.
2016-02-04Consensus: Decouple pow.cpp from util.hJorge Timón
2016-02-02Merge #7311: MOVEONLY: Move non-consensus functions out of powWladimir J. van der Laan
e867561 MOVEONLY: non-consensus: from pow to chain: (Jorge Timón)
2016-01-12MOVEONLY: non-consensus: from pow to chain:Jorge Timón
- GetBlockProof - GetBlockProofEquivalentTime
2015-12-13Bump copyright headers to 2015MarcoFalke
2015-10-19Added fPowNoRetargeting field to Consensus::Params that disables nBits ↵Eric Lombrozo
recalculation.
2015-04-22Use equivalent PoW for non-main-chain requestsPieter Wuille
2015-04-10consensus: don't use arith_uint256 in consensus.hCory Fields
Requiring arith_uint256 at such a base level is not good for modularity.
2015-03-26Trivial optimization: use GetAncestor to compute new targetPieter Wuille
2015-03-26Consensus: Refactor: Decouple pow.o from chainparams.oJorge Timón
2015-03-09test: remove fSkipProofOfWorkWladimir J. van der Laan
Not used, and REGTEST already allows creating blocks at the lowerst possible difficulty.
2015-02-21Add unit tests for next difficulty calculationsRoss Nicoll
Split GetNextWorkRequired() into two functions to allow the difficulty calculations to be tested without requiring a full blockchain. Add unit tests to cover basic difficulty calculation, plus each of the min/max actual time, and maximum difficulty target conditions.
2015-02-17Rename Interval() to DifficultyAdjustmentInterval()Shaul Kfir
2015-01-31Remove whitespaces before double colon in errors and logsPavel Janík
2015-01-05Use arith_uint256 where necessaryWladimir J. van der Laan
Also add conversion from/to uint256 where needed.
2014-12-19Added "Core" to copyright headerssandakersmann
Github-Pull: #5494 Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-16Remove references to X11 licenceMichael Ford
2014-12-03MOVEONLY: core/ -> primitives/Luke Dashjr
2014-10-29CBlockIndex::GetBlockWork() + GetProofIncrement(nBits) -> ↵jtimon
GetBlockProof(CBlockIndex)
2014-10-29MOVEONLY: Move void UpdateTime() from pow.o to miner.o (plus fix include ↵jtimon
main.h -> chain.h)
2014-10-27MOVEONLY: core.o -> core/block.ojtimon
2014-10-14Remove CheckMinWork, as we always know all parent headersPieter Wuille
2014-10-02Switch testing framework from MAIN to new UNITTEST networkSergioDemianLerner
UNITTEST inherites from MAIN but allows synamically changing its parameters using the ModifiableParams() interface
2014-10-02Revert merge of pull #4845Wladimir J. van der Laan
It breaks the new mingw tests! See - https://travis-ci.org/bitcoin/bitcoin/jobs/36845581 - https://travis-ci.org/bitcoin/bitcoin/jobs/36845582 This reverts commit 470590277782cce2fe73275c74523aef59a51eab, 5e2e7fcb99738d9254d4030d53e4f711b2fc5ee0, a25fd6be138ff2bff7e2ad6a1a789db523c0193f.
2014-09-29Switch testing framework from MAIN to new UNITTEST networkSergioDemianLerner
UNITTEST inherites from MAIN but allows synamically changing its parameters using the ModifiableParams() interface
2014-08-27Merge pull request #4377Pieter Wuille
654871d replace ComputeMinWork with CheckMinWork (jtimon) b343c1a Move CBlockIndex::GetBlockWork() to pow::GetProofIncrement(nBits) (jtimon) c2c02f3 Move UpdateTime to pow (jtimon)
2014-08-26Split up util.cpp/hWladimir J. van der Laan
Split up util.cpp/h into: - string utilities (hex, base32, base64): no internal dependencies, no dependency on boost (apart from foreach) - money utilities (parsesmoney, formatmoney) - time utilities (gettime*, sleep, format date): - and the rest (logging, argument parsing, config file parsing) The latter is basically the environment and OS handling, and is stripped of all utility functions, so we may want to rename it to something else than util.cpp/h for clarity (Matt suggested osinterface). Breaks dependency of sha256.cpp on all the things pulled in by util.
2014-08-23replace ComputeMinWork with CheckMinWorkjtimon
2014-08-23Move CBlockIndex::GetBlockWork() to pow::GetProofIncrement(nBits)jtimon
2014-08-23Move UpdateTime to powjtimon
2014-07-07Use GetBlockTime() morejtimon
2014-06-23move pow constants to chainparamsjtimon
2014-06-23Refactor proof of work related functions out of mainjtimon