Matt Corallo
9eb67f5000
Ensure we meet the BIP 152 old-relay-types response requirements
...
In order to do this, we must call ActivateBestChain prior to
responding getdata requests for blocks which we announced using
compact blocks.
For getheaders responses we dont need code changes, but do note
that we must reset the bestHeaderSent so that the SendMessages call
re-announces the header in question.
While we could do something smarter for getblocks, calling
ActivateBestChain is simple and more obviously correct, instead of
doing something more similar to getheaders.
See-also the BIP clarifications at
https://github.com/bitcoin/bips/pull/486
8 years ago
Matt Corallo
5749a853b9
Cache most-recently-connected compact block
8 years ago
Matt Corallo
9eaec08dd2
Cache most-recently-announced block's shared_ptr
8 years ago
Matt Corallo
c802092142
Relay compact block messages prior to full block connection
8 years ago
Matt Corallo
80175472d1
Make CBlockIndex*es in net_processing const
8 years ago
Cory Fields
5cb0fcee81
net: remove thread_interrupted catch
...
This is now a std::thread, so there's no hope of catching a boost interruption
point.
8 years ago
Cory Fields
d3d7056d2a
net: make net processing interruptible
8 years ago
Suhas Daftuar
bd02bddb93
Release cs_main before processing cmpctblock as header
8 years ago
Suhas Daftuar
680b0c0138
Release cs_main before calling ProcessNewBlock (cmpctblock handling)
8 years ago
Matt Corallo
4cd373aea8
Un-expose mapArgs from utils.h
8 years ago
Matt Corallo
0cf86a6678
Introduce (and use) an IsArgSet accessor method
8 years ago
Pieter Wuille
62607d796c
Convert COrphanTx to keep a CTransactionRef
8 years ago
Pieter Wuille
c44e4c467c
Make AcceptToMemoryPool take CTransactionRef
8 years ago
MarcoFalke
fa16b8fdba
If we don't allow free txs, always send a fee filter (take 2)
8 years ago
Suhas Daftuar
7017298eb2
Allow compactblock reconstruction when block is in flight
8 years ago
Gregory Maxwell
da9cdd2c9c
Do not run functions with necessary side-effects in assert()
8 years ago
Alex Morcos
01fea7a048
If we don't allow free txs, always send a fee filter
8 years ago
Pieter Wuille
2efc43874c
Align struct COrphan definition
8 years ago
Pieter Wuille
f6fb7acda4
Move CTxInWitness inside CTxIn
8 years ago
Matt Corallo
a13fa4c80f
Remove unused CDiskBlockPos* argument from ProcessNewBlock
8 years ago
Matt Corallo
2d6e5619af
Switch pblock in ProcessNewBlock to a shared_ptr
...
This (finally) fixes a performance regression in
b3b3c2a562
8 years ago
Matt Corallo
9b9324ee49
Fix rounding privacy leak introduced in #9260
8 years ago
Pieter Wuille
81e3228fcb
Make CTransaction actually immutable
8 years ago
Matt Corallo
76faa3cdfe
Rename the remaining main.{h,cpp} to validation.{h,cpp}
8 years ago
Matt Corallo
e736772c56
Move network-msg-processing code out of main to its own file
8 years ago