Commit graph

1472 commits

Author SHA1 Message Date
instagibbs
9009318556 Better error report for failed BitcoindRPCCheck 2017-02-02 10:58:56 -05:00
instagibbs
6b77b1af06 CheckInputs: Fix DoS erroneous DoS ban during mempool relay 2017-02-02 10:58:56 -05:00
instagibbs
c136e0ac78 Enforce all ISM upgrades immediately 2017-02-02 10:58:56 -05:00
instagibbs
15c2a60226 Enable P2SH in ConnectBlock regardless of timestamp 2017-02-02 10:58:56 -05:00
instagibbs
7154c1f9ad Rangeproof caching 2017-02-02 10:58:56 -05:00
instagibbs
33609ed3ea Multithreaded amount commitment and range proof checking 2017-02-02 10:58:56 -05:00
instagibbs
56aa82fc2d Move amount verification to main 2017-02-02 10:58:56 -05:00
Pieter Wuille
5b2053211e Zero value coinbase output are exempt from fixed destination 2017-02-02 10:58:56 -05:00
Pieter Wuille
d212526c24 Add witness commitment when there are only txout witnesses 2017-02-02 10:58:56 -05:00
instagibbs
e637e5a5da block header commits to height 2017-02-02 10:58:56 -05:00
instagibbs
a75159e1f8 block validation on script error of properly signed block 2017-02-02 10:58:51 -05:00
instagibbs
9c62706831 Startup RPC check, failed block queue setup 2017-02-02 10:58:51 -05:00
instagibbs
3ee361cc16 Don't DoS ban peers for possibly valid pegin blocks 2017-02-02 10:58:50 -05:00
instagibbs
a727d7629b Actually enforce withdraw consensus rules 2017-02-02 10:58:50 -05:00
Warren Togami
baa3b0c5cc Disable -peerbloomfilters by default in sidechains
Removes Denial of Service risk on a network that will likely never
have light wallets.  User can enable it again if they reallly want it.
2017-02-02 10:58:50 -05:00
Matt Corallo
10249053d0 Add comment explaining check 2017-02-02 10:58:50 -05:00
instagibbs
95900548d3 Basic locked utxo testing 2017-02-02 10:58:50 -05:00
instagibbs
d8c5160e62 Various updates to locked-output UTXO selection 2017-02-02 10:58:50 -05:00
Matt Corallo
4254f332cd Disable fInbound requirement for preferred-sync peers 2017-02-02 10:58:50 -05:00
Matt Corallo
0156202474 Require coinbase outputs be to a specific script 2017-02-02 10:58:49 -05:00
Matt Corallo
455ff66694 Respond to getheaders even in IBD mode
This should fix an issue which would crop up if we ever needed to
pause the chain for a period of time - namely that nodes would not
sync again afterwards if they restarted during the pause.
2017-02-02 10:58:49 -05:00
Matt Corallo
dff6b024dd No DoS for sending a tx/block claiming an unconfirmed btc block 2017-02-02 10:58:49 -05:00
Matt Corallo
4b80cee0f1 Add function to get withdraw outputs which are claim-able 2017-02-02 10:58:49 -05:00
Matt Corallo
3914ec30cf Add withdraw-locks-creation tracking in txdb 2017-02-02 10:58:49 -05:00
Luke Dashjr
3ad6bbe651 Refactors in anticipation of blinded values 2017-02-02 10:58:48 -05:00
Matt Corallo
49f24bc6e2 Add explicit fee field to transaction 2017-02-02 10:58:48 -05:00
Matt Corallo
0663a9bf9f No subsidy, 21 million genesis block 2017-02-02 10:58:48 -05:00
Matt Corallo
f381a70619 Make genesis coinbase outputs spendable 2017-02-02 10:58:48 -05:00
Matt Corallo
6939698bc5 Disable replacement of peg-in transactions 2017-02-02 10:58:48 -05:00
Matt Corallo
54f981de1f Keep mempool consistent after conflicting withdraw-spent 2017-02-02 10:58:47 -05:00
Matt Corallo
79d422acfa Add withdraw-claimed tracking to mempool and enforce it 2017-02-02 10:58:47 -05:00
Matt Corallo
16063366d9 Enforce single-withdraw by tracking withdraws-spent in CheckInputs 2017-02-02 10:58:47 -05:00
Matt Corallo
c549d96ead Add sidechain claims to UTXO db 2017-02-02 10:58:47 -05:00
Matt Corallo
6c945bea44 Tweak SignatureChecker to expose a bit more about the transaction 2017-02-02 10:58:47 -05:00
Matt Corallo
b6a9974821 Block with invalid signature is corruption-possible 2017-02-02 10:58:47 -05:00
jtimon
911294c696 Refactors in anticipation of private chain mode 2017-02-02 10:58:43 -05:00
Matt Corallo
183cc2e8f4 Restore MoneyRange checks on total tx fees
This re-adds the security-checks that were surreptitiously removed
all the way back in 8d7849b6db.
2016-11-01 11:48:16 -04:00
Johnson Lau
540413d995 Add standard limits for P2WSH with tests
Github-Pull: #8499
Rebased-From: 3ade2f64cf
2016-10-17 14:10:58 +02:00
Matt Corallo
4bb9ce8a95 Use cmpctblock type 2 for segwit-enabled transfer
Contains version negotiation logic by Matt Corallo and bugfixes by
Suhas Daftuar.

Github-Pull: #8393
Rebased-From: 6aa28abf53
2016-10-13 20:35:33 +02:00
Pieter Wuille
fe1975a974 Use cmpctblock type 2 for segwit-enabled transfer
Contains version negotiation logic by Matt Corallo and bugfixes by
Suhas Daftuar.

Github-Pull: #8393
Rebased-From: 6aa28abf53
2016-10-13 20:15:17 +02:00
Cory Fields
7ae6242960 net: fix a few cases where messages were sent rather than dropped upon disconnection
75ead758 turned these into crashes in the event of a handshake failure, most
notably when a peer does not offer the expected services.

There are likely other cases that these assertions will find as well.

Github-Pull: #8862
Rebased-From: 905bc68d05
2016-10-13 20:09:31 +02:00
Johnson Lau
9dfa0c8d90 Implement NULLDUMMY softfork
Github-Pull: #8636
Rebased-From: 482f852da6
2016-09-26 16:50:39 +02:00
Pieter Wuille
1672225670 Do not store witness txn in rejection cache
Github-Pull: #8525
Rebased-From: 34521e4d7d
2016-09-26 16:42:12 +02:00
Pavel Janík
084cae9ca5 UndoReadFromDisk works on undo files (rev), not on block files.
Github-Pull: #8737
Rebased-From: b4fb512719
2016-09-21 02:43:47 +00:00
MarcoFalke
305d8ac90b Use __func__ to get function name for output printing
Github-Pull: #8548
Rebased-From: fa785d1211
2016-09-21 02:43:47 +00:00
leijurv
befe654f0f various typos
Github-Pull: #8505
Rebased-From: 1aacfc2da5
2016-09-21 02:43:47 +00:00
Pieter Wuille
30eac2d79a Use a signal to continue init after genesis activation
Github-Pull: #8392
Rebased-From: 0fd2a33648
2016-09-21 02:43:47 +00:00
Wladimir J. van der Laan
69d1cd202d net: Ignore notfound P2P messages
Github-Pull: #8427
Rebased-From: 5c9e49d12c
2016-09-21 02:43:47 +00:00
rodasmith
41fd852d3f fix op order to append first alert
Github-Pull: #8697
Rebased-From: 1d635ae61b
2016-09-13 11:35:52 +02:00
Gregory Maxwell
ab295bb4be Do not add random inbound peers to addrman.
We should learn about new peers via address messages.

An inbound peer connecting to us tells us nothing about
 its ability to accept incoming connections from us, so
 we shouldn't assume that we can connect to it based on
 this.

The vast majority of nodes on the network do not accept
 incoming connections, adding them will only slow down
 the process of making a successful connection in the
 future.

Nodes which have configured themselves to not announce would prefer we
 not violate their privacy by announcing them in GETADDR responses.
2016-09-07 16:43:15 +02:00