Gregory Maxwell
22fd04beb9
Remove nBlockMaxSize from miner opt struct as it is no longer used.
2017-09-18 23:40:38 +00:00
practicalswift
90d4d89230
scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal 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-08-07 07:36:37 +02:00
practicalswift
67ca816849
Simplify "bool x = y ? true : false" to "bool x = y"
2017-06-11 15:44:01 +02:00
Pieter Wuille
e945848582
scripted-diff: Use new naming style for insecure_rand* functions
...
-BEGIN VERIFY SCRIPT-
sed -i 's/\<insecure_randbits(/InsecureRandBits(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_randbool(/InsecureRandBool(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_randrange(/InsecureRandRange(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_randbytes(/InsecureRandBytes(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_rand256(/InsecureRand256(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<insecure_rand(/InsecureRand32(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
sed -i 's/\<seed_insecure_rand(/SeedInsecureRand(/g' src/test/*.cpp src/test/*.h src/wallet/test/*.cpp
-END VERIFY SCRIPT-
2017-06-07 12:08:39 -07:00
Pieter Wuille
efee1db21a
scripted-diff: use insecure_rand256/randrange more
...
-BEGIN VERIFY SCRIPT-
sed -i "s/\<GetRandHash(/insecure_rand256(/" src/test/*_tests.cpp
sed -i "s/\<GetRand(/insecure_randrange(/" src/test/*_tests.cpp src/test/test_bitcoin.cpp
sed -i 's/\<insecure_rand() % \([0-9]\+\)/insecure_randrange(\1)/g' src/test/*_tests.cpp
-END VERIFY SCRIPT-
2017-06-05 12:45:44 -07:00
Wladimir J. van der Laan
ea6fde3f1d
Merge #8329 : Consensus: MOVEONLY: Move functions for tx verification
...
618d07f
MOVEONLY: tx functions to consensus/tx_verify.o (Jorge Timón)
Tree-SHA512: 63fa2777c070a344dbfe61974526a770d962e049881c6f371b0034b1682c1e6e24f47454f01ee35ded20ade34488e023d4467a05369662906b99a73bb5de8497
2017-05-18 21:01:49 +02:00
Jorge Timón
2351a064a6
Chainparams: Get rid of CChainParams& Params(std::string)
2017-05-03 18:15:54 +02:00
Jorge Timón
618d07faa2
MOVEONLY: tx functions to consensus/tx_verify.o
...
Functions related to transaction verification.
2017-04-06 23:36:46 +02:00
Wladimir J. van der Laan
30ff3a2fc9
Merge #9602 : Remove coin age priority and free transactions - implementation
...
b421e6d
Update example bitcoin.conf (Alex Morcos)
7d4e950
Allow setting minrelaytxfee to 0 (Alex Morcos)
359e8a0
[cleanup] Remove coin age priority completely. (Alex Morcos)
f9b9371
[rpc] Remove priorityDelta from prioritisetransaction (Alex Morcos)
49be7e1
[rpc] Remove priority information from mempool RPC calls (Alex Morcos)
0315888
[test] Remove priority from tests (Alex Morcos)
f838005
No longer allow "free" transactions (Alex Morcos)
ad727f4
[rpc] sendrawtransaction no longer bypasses minRelayTxFee (Alex Morcos)
fe282ac
[cleanup] Remove estimatePriority and estimateSmartPriority (Alex Morcos)
400b151
[debug] Change -printpriority option (Alex Morcos)
272b25a
[mining] Remove -blockprioritysize. (Alex Morcos)
12839cd
[rpc] Remove estimatepriority and estimatesmartpriority. (Alex Morcos)
ddf58c7
wallet: Remove sendfree (MarcoFalke)
Tree-SHA512: a9a4499405923ce794ef18f9e334dbbd59dfc73a3dc2df6f85cc9c62af6f353ec2eed9c2d5e58e904f918d0d7ab738f403dd4939d9bc2276136864fe63710782
2017-03-07 19:30:23 +01:00
Alex Morcos
0315888d0d
[test] Remove priority from tests
...
Remove all coin age priority functionality from unit tests and RPC tests.
2017-03-03 16:50:19 -05:00
Alex Morcos
272b25a6a9
[mining] Remove -blockprioritysize.
...
Remove ability of mining code to fill part of a block with transactions sorted by coin age.
2017-02-27 11:23:50 -05:00
Pieter Wuille
277b472fb2
Run miner_tests with fixed options
2017-02-26 16:13:51 -08:00
Alex Morcos
6b331e6cf9
Fix to have miner test aware of new separate block min tx fee
2017-01-19 21:35:39 -05:00
isle2983
27765b6403
Increment MIT Licence copyright header year on files modified in 2016
...
Edited via:
$ contrib/devtools/copyright_header.py update .
2016-12-31 11:01:21 -07:00
Matt Corallo
a13fa4c80f
Remove unused CDiskBlockPos* argument from ProcessNewBlock
2016-12-04 00:23:17 -08:00
Matt Corallo
2d6e5619af
Switch pblock in ProcessNewBlock to a shared_ptr
...
This (finally) fixes a performance regression in
b3b3c2a562
2016-12-04 00:17:30 -08:00
Matt Corallo
76faa3cdfe
Rename the remaining main.{h,cpp} to validation.{h,cpp}
2016-12-02 09:42:51 -08:00
Pieter Wuille
ad04d1cb35
Always add default_witness_commitment with GBT client support
2016-11-21 15:01:04 -08:00
Pieter Wuille
b4e4ba475a
Introduce convenience type CTransactionRef
2016-11-19 17:53:23 -08:00
Pieter Wuille
1662b437b3
Make CBlock::vtx a vector of shared_ptr<CTransaction>
2016-11-19 17:51:09 -08:00
Matt Corallo
ae22357607
Replace CValidationState param in ProcessNewBlock with BlockChecked
2016-11-09 11:21:55 -08:00
Matt Corallo
7c98ce584e
Remove pfrom parameter from ProcessNewBlock
...
This further decouples ProcessNewBlock from networking/peer logic.
2016-11-09 11:21:45 -08:00
Suhas Daftuar
88c35491ab
Fix compact block handling to not ban if block is invalid
2016-11-03 13:07:12 -04:00
Pieter Wuille
51f278329d
Make removed and conflicted arguments optional to remove
2016-10-21 19:22:43 -07:00
Wladimir J. van der Laan
05998da5a7
Merge #8865 : Decouple peer-processing-logic from block-connection-logic
...
a9aec5c
Use BlockChecked signal to send reject messages from mapBlockSource (Matt Corallo)
7565e03
Remove SyncWithWallets wrapper function (Matt Corallo)
12ee1fe
Always call UpdatedBlockTip, even if blocks were only disconnected (Matt Corallo)
f5efa28
Remove CConnman parameter from ProcessNewBlock/ActivateBestChain (Matt Corallo)
fef1010
Use CValidationInterface from chain logic to notify peer logic (Matt Corallo)
aefcb7b
Move net-processing logic definitions together in main.h (Matt Corallo)
0278fb5
Remove duplicate nBlocksEstimate cmp (we already checked IsIBD()) (Matt Corallo)
87e7d72
Make validationinterface.UpdatedBlockTip more verbose (Matt Corallo)
2016-10-18 22:48:51 +02:00
Wladimir J. van der Laan
744d2652dd
Merge #8223 : [c++11] Use std::unique_ptr for block creation.
...
9fce062
[c++11] Use std::unique_ptr for block creation. (Daniel Kraft)
2016-10-18 21:16:08 +02:00
Matt Corallo
f5efa28393
Remove CConnman parameter from ProcessNewBlock/ActivateBestChain
2016-10-04 13:51:32 -04:00
Cory Fields
8d58c4d81f
net: Pass CConnman around as needed
2016-09-08 12:04:35 -04:00
Suhas Daftuar
8bfd70817b
Enable size accounting in mining unit tests
2016-07-28 14:27:19 -04:00
Pieter Wuille
2b1f6f9ccf
BIP141: Other consensus critical limits, and BIP145
...
Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
2016-06-22 15:43:00 +02:00
Daniel Kraft
9fce0629b4
[c++11] Use std::unique_ptr for block creation.
...
CreateNewBlock returns a pointer for which the caller takes ownership.
Use std::unique_ptr to make this explicit and simplify handling of these
objects in getblocktemplate.
2016-06-18 19:38:28 +02:00
Suhas Daftuar
29fac19c93
Add unit tests for ancestor feerate mining
2016-06-16 12:35:37 -04:00
Wladimir J. van der Laan
e1486eb95c
Merge #7598 : Refactor CreateNewBlock to be a method of the BlockAssembler class
...
c2dd5a3
FIX: correctly measure size of priority block (Alex Morcos)
a278764
FIX: Account for txs already added to block in addPriorityTxs (Alex Morcos)
4dc94d1
Refactor CreateNewBlock to be a method of the BlockAssembler class (Alex Morcos)
2016-06-13 11:35:55 +02:00
Pavel Janík
c2715d3ab8
Do not shadow local variables
2016-06-07 21:22:48 +02:00
Alex Morcos
4dc94d1036
Refactor CreateNewBlock to be a method of the BlockAssembler class
2016-05-18 14:11:12 -04:00
instagibbs
f8536a62c3
Corrected values
2016-04-07 10:14:49 -04:00
instagibbs
617deeb06e
Gave miner test values constants for less error-prone values.
2016-04-07 10:14:44 -04:00
Pieter Wuille
6851107b3a
BIP9 Implementation
...
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and
based on code by Jorge Timon.
2016-03-15 16:54:38 +01:00
Wladimir J. van der Laan
80d1f2e483
Merge #7184 : Implement SequenceLocks functions for BIP 68
...
b043c4b
fix sdaftuar's nits again (Alex Morcos)
a51c79b
Bug fix to RPC test (Alex Morcos)
da6ad5f
Add RPC test exercising BIP68 (mempool only) (Suhas Daftuar)
c6c2f0f
Implement SequenceLocks functions (Alex Morcos)
2016-02-12 17:03:46 +01:00
Alex Morcos
c6c2f0fd78
Implement SequenceLocks functions
...
SequenceLocks functions are used to evaluate sequence lock times or heights per BIP 68.
The majority of this code is copied from maaku in #6312
Further credit: btcdrak, sipa, NicolasDorier
2016-02-10 15:35:33 -05:00
MarcoFalke
fa24439ff3
Bump copyright headers to 2015
2015-12-13 18:08:39 +01:00
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
Wladimir J. van der Laan
2ef5ffa59a
Merge pull request #6915
...
2d8860e
Fix removeForReorg to use MedianTimePast (Suhas Daftuar)
b7fa4aa
Don't call removeForReorg if DisconnectTip fails (Suhas Daftuar)
7e49f5f
Track coinbase spends in CTxMemPoolEntry (Suhas Daftuar)
bb8ea1f
removeForReorg calls once-per-disconnect-> once-per-reorg (Matt Corallo)
474b84a
Make indentation in ActivateBestChainStep readable (Matt Corallo)
b0a064c
Fix comment in removeForReorg (Matt Corallo)
9b060e5
Fix removal of time-locked transactions during reorg (Matt Corallo)
0c9959a
Add failing test checking timelocked-txn removal during reorg (Matt Corallo)
2015-12-01 13:17:34 +01:00
Wladimir J. van der Laan
327291af02
Merge pull request #6914
...
114b581
Prevector type (Pieter Wuille)
2015-12-01 10:22:14 +01:00
Suhas Daftuar
7e49f5f8b4
Track coinbase spends in CTxMemPoolEntry
...
This allows us to optimize CTxMemPool::removeForReorg.
2015-11-30 13:12:53 -05:00
Pieter Wuille
eece63fa72
Switch blocks to a constant-space Merkle root/branch algorithm.
...
This switches the Merkle tree logic for blocks to one that runs in constant (small) space.
The old code is moved to tests, and a new test is added that for various combinations of
block sizes, transaction positions to compute a branch for, and mutations:
* Verifies that the old code and new code agree for the Merkle root.
* Verifies that the old code and new code agree for the Merkle branch.
* Verifies that the computed Merkle branch is valid.
* Verifies that mutations don't change the Merkle root.
* Verifies that mutations are correctly detected.
2015-11-27 15:36:52 +01:00
Alex Morcos
e587bc3fd9
Implement helper class for CTxMemPoolEntry constructor
...
This is only for unit tests.
2015-11-16 20:41:32 -05:00
Pieter Wuille
114b5812f6
Prevector type
2015-11-13 18:15:20 +01:00
Jorge Timón
6bc9e4056b
Chainparams: Explicit CChainParams arg for miner:
...
-BitcoinMiner
-CreateNewBlock
-GenerateBitcoins
-ProcessBlockFound
2015-11-11 13:21:17 +01:00
Jorge Timón
598e494587
Chainparams: Explicit CChainParams arg for main (pre miner):
...
-ProcessNewBlock
-TestBlockValidity
2015-11-11 13:21:17 +01:00