Matt Corallo
0df777db6d
Use a temp pindex to avoid a const_cast in ProcessNewBlockHeaders
2017-01-11 14:47:52 -08:00
Matt Corallo
6987219577
Add a CValidationInterface::NewPoWValidBlock callback
2017-01-05 10:32:07 -05:00
Matt Corallo
180586fd44
Call AcceptBlock with the block's shared_ptr instead of CBlock&
2017-01-04 15:56:08 -05:00
Matt Corallo
80175472d1
Make CBlockIndex*es in net_processing const
2017-01-04 15:56:08 -05:00
Pieter Wuille
7dac1e5e9e
Merge #9107 : Safer modify new coins
...
b50cd7a
Fix dangerous condition in ModifyNewCoins. (Alex Morcos)
2017-01-04 11:56:17 -08:00
Alex Morcos
b50cd7a67e
Fix dangerous condition in ModifyNewCoins.
...
We were marking coins FRESH before being sure they were not overwriting dirty undo data. This condition was never reached in existing code because undo data was always flushed before UpdateCoins was called with new transactions, but could have been exposed in an otherwise safe refactor.
Clarify in the comments the assumptions made in ModifyNewCoins.
Add ability to undo transactions to UpdateCoins unit test.
Thanks to Russ Yanofsky for suggestion on how to make logic clearer and fixing up the ccoins_modify_new test cases.
2017-01-04 11:20:42 -05:00
Pieter Wuille
c44e4c467c
Make AcceptToMemoryPool take CTransactionRef
2016-12-21 18:18:23 -08:00
Wladimir J. van der Laan
e8cfe1ee2d
Merge #8589 : Inline CTxInWitness inside CTxIn
...
f6fb7ac
Move CTxInWitness inside CTxIn (Pieter Wuille)
2016-12-21 14:04:06 +01:00
Wladimir J. van der Laan
7f72568e6b
Merge #9236 : Fix races for strMiscWarning and fLargeWork*Found, make QT runawayException use GetWarnings
...
749be01
Move GetWarnings() into its own file. (Gregory Maxwell)
e3ba0ef
Eliminate data races for strMiscWarning and fLargeWork*Found. (Gregory Maxwell)
c63198f
Make QT runawayException call GetWarnings instead of directly access strMiscWarning. (Gregory Maxwell)
2016-12-19 12:40:01 +01:00
Wladimir J. van der Laan
b68685a16a
Merge #9273 : Remove unused CDiskBlockPos* argument from ProcessNewBlock
...
a13fa4c
Remove unused CDiskBlockPos* argument from ProcessNewBlock (Matt Corallo)
2016-12-14 10:56:28 +01:00
Gregory Maxwell
da9cdd2c9c
Do not run functions with necessary side-effects in assert()
2016-12-14 01:50:00 +00:00
Pieter Wuille
a1dcf2e108
Merge #9240 : Remove txConflicted
...
a874ab5
remove internal tracking of mempool conflicts for reporting to wallet (Alex Morcos)
bf663f8
remove external usage of mempool conflict tracking (Alex Morcos)
2016-12-09 16:31:03 -08:00
Alex Morcos
b919179cbb
remove no longer needed check for premature v2 txs
2016-12-07 09:58:20 -05:00
Alex Morcos
bf663f8e93
remove external usage of mempool conflict tracking
2016-12-05 13:41:25 -05:00
Pieter Wuille
f6fb7acda4
Move CTxInWitness inside CTxIn
2016-12-04 23:47:12 -08:00
Wladimir J. van der Laan
d04aebaec7
Merge #9014 : Fix block-connection performance regression
...
dd0df81
Document ConnectBlock connectTrace postconditions (Matt Corallo)
2d6e561
Switch pblock in ProcessNewBlock to a shared_ptr (Matt Corallo)
2736c44
Make the optional pblock in ActivateBestChain a shared_ptr (Matt Corallo)
ae4db44
Create a shared_ptr for the block we're connecting in ActivateBCS (Matt Corallo)
fd9d890
Keep blocks as shared_ptrs, instead of copying txn in ConnectTip (Matt Corallo)
6fdd43b
Add struct to track block-connect-time-generated info for callbacks (Matt Corallo)
2016-12-05 08:07:45 +01:00
Matt Corallo
a13fa4c80f
Remove unused CDiskBlockPos* argument from ProcessNewBlock
2016-12-04 00:23:17 -08:00
Matt Corallo
dd0df81ebd
Document ConnectBlock connectTrace postconditions
2016-12-04 00:18:44 -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
2736c44c8e
Make the optional pblock in ActivateBestChain a shared_ptr
2016-12-04 00:13:09 -08:00
Matt Corallo
ae4db44d03
Create a shared_ptr for the block we're connecting in ActivateBCS
2016-12-04 00:13:09 -08:00
Matt Corallo
fd9d89070a
Keep blocks as shared_ptrs, instead of copying txn in ConnectTip
2016-12-04 00:13:09 -08:00
Matt Corallo
6fdd43b968
Add struct to track block-connect-time-generated info for callbacks
2016-12-04 00:13:09 -08:00
Gregory Maxwell
749be013f5
Move GetWarnings() into its own file.
2016-12-03 07:17:34 +00:00
Gregory Maxwell
e3ba0ef956
Eliminate data races for strMiscWarning and fLargeWork*Found.
...
This moves all access to these datastructures through accessor functions
and protects them with a lock.
2016-12-03 07:17:34 +00:00
Gregory Maxwell
c63198f1c7
Make QT runawayException call GetWarnings instead of directly access strMiscWarning.
...
This is a first step in avoiding racy accesses to strMiscWarning.
The change required moving GetWarnings and related globals to util.
2016-12-03 07:17:28 +00:00
Pieter Wuille
81e3228fcb
Make CTransaction actually immutable
2016-12-02 18:37:43 -08:00
Pieter Wuille
a1883536b4
Switch GetTransaction to returning a CTransactionRef
2016-12-02 18:28:22 -08:00
Matt Corallo
76faa3cdfe
Rename the remaining main.{h,cpp} to validation.{h,cpp}
2016-12-02 09:42:51 -08:00