Commit Graph

653 Commits

Author SHA1 Message Date
lateminer
55729c2f6e Update to Core 0.13.2 2018-11-14 19:43:28 +03:00
lateminer
aabee84651 Add GetTransactionSigOpCount unit tests 2018-11-11 17:11:01 +03:00
lateminer
bb407424fa Remove relaying of double-spends 2018-10-25 20:37:40 +03:00
Pieter Wuille
1b70520ceb Align constant names for maximum compact block / blocktxn depth 2018-10-23 23:24:58 +03:00
lateminer
1534febd08 Move DEFAULT_BYTES_PER_SIGOP to policy/policy.h 2018-10-23 23:11:23 +03:00
lateminer
9b55796d56 Reduce default number of blocks to check at startup
https://github.com/bitcoin/bitcoin/pull/8611
2018-10-23 23:01:33 +03:00
Gregory Maxwell
654a62c131 Adds an expiration time for orphan tx.
This prevents higher order orphans and other junk from
 holding positions in the orphan map.  Parents delayed
 twenty minutes are more are unlikely to ever arrive.

The freed space will improve the orphan matching success rate for
 other transactions.
2018-10-23 22:52:51 +03:00
instagibbs
61b8aea708 Rename ReconsiderBlock func to reflect real behavior 2018-10-23 22:24:41 +03:00
instagibbs
46038d59ea Remove state arg from ReconsiderBlock 2018-10-23 22:24:01 +03:00
face
7e7f211dea Pass CChainParams to DisconnectTip() 2018-10-23 22:22:19 +03:00
MarcoFalke
159b4c71e3 [doxygen] Actually display comment 2018-10-23 22:05:23 +03:00
lateminer
af95ba010d Improve block validity/ConnectBlock() comments
https://github.com/bitcoin/bitcoin/pull/7444
2018-10-23 22:03:49 +03:00
Wladimir J. van der Laan
7a11d02bde Break circular dependency main ↔ txdb
Break the circular dependency between main and txdb by:

- Moving `CBlockFileInfo` from `main.h` to `chain.h`. I think this makes
  sense, as the other block-file stuff is there too.

- Moving `CDiskTxPos` from `main.h` to `txdb.h`. This type seems
  specific to txdb.

- Pass a functor `insertBlockIndex` to `LoadBlockIndexGuts`. This leaves
  it up to the caller how to insert block indices.
2018-10-22 00:42:47 +03:00
21E14
69de80c238 Remove obsolete reference to CValidationState from UpdateCoins. 2018-10-22 00:40:59 +03:00
MarcoFalke
c6ac3b5c34 [doc] Fix doxygen comments for members 2018-10-21 23:57:58 +03:00
Suhas Daftuar
f2a7a4d1ba Fix compact block handling to not ban if block is invalid 2018-10-21 23:41:27 +03:00
Wladimir J. van der Laan
c5e913fd28 Make max tip age an option instead of chainparam 2018-10-19 19:59:49 +03:00
leijurv
e0e706c9cf various typos 2018-10-18 23:30:54 +03:00
Gregory Maxwell
35c0e679b7 Add recently accepted blocks and txn to AttemptToEvictConnection.
This protects any not-already-protected peers who were the most
 recent four to relay transactions and most recent four to send
 blocks to us.
2018-10-18 22:35:51 +03:00
Pieter Wuille
c043d2fedc Introduce enum ServiceFlags for service flags 2018-10-18 22:32:23 +03:00
Gregory Maxwell
89655c3a1e Remove unneeded feerate param from RelayTransaction/AcceptToMemoryPool. 2018-10-17 20:22:44 +03:00
Gregory Maxwell
05c3d2e290 Eliminate TX trickle bypass, sort TX invs for privacy and priority.
Previously Bitcoin would send 1/4 of transactions out to all peers
 instantly.  This causes high overhead because it makes >80% of
 INVs size 1.  Doing so harms privacy, because it limits the
 amount of source obscurity a transaction can receive.

These randomized broadcasts also disobeyed transaction dependencies
 and required use of the orphan pool.  Because the orphan pool is
 so small this leads to poor propagation for dependent transactions.

When the bypass wasn't in effect, transactions were sent in the
 order they were received.  This avoided creating orphans but
 undermines privacy fairly significantly.

This commit:
 Eliminates the bypass. The bypass is replaced by halving the
  average delay for outbound peers.

 Sorts candidate transactions for INV by their topological
  depth then by their feerate (then hash); removing the
  information leakage and providing priority service to
  higher fee transactions.

 Limits the amount of transactions sent in a single INV to
  7tx/sec (and twice that for outbound); this limits the
  harm of low fee transaction floods, gives faster relay
  service to higher fee transactions. The 7 sounds lower
  than it really is because received advertisements need
  not be sent, and because the aggregate rate is multipled
  by the number of peers.
2018-10-17 19:44:11 +03:00
lateminer
eb242178e1 Attempt to fix testnet 2018-10-17 00:40:44 +03:00
Pieter Wuille
00cb4673b2 Predeclare PrecomputedTransactionData as struct 2018-10-13 17:59:39 +03:00
Pieter Wuille
cd30f2becb Rename to PrecomputedTransactionData 2018-10-13 17:57:50 +03:00
Pieter Wuille
d8d19c532f Precompute sighashes 2018-10-13 17:39:41 +03:00
Pieter Wuille
81e04cabfe Refactor script validation to observe amounts 2018-10-13 17:05:24 +03:00
lateminer
c6238629b3 Remove drivechain support using OP_COUNT_ACKS 2018-10-13 16:30:31 +03:00
Alex Morcos
b821da64ef Implement "feefilter" P2P message. 2018-10-13 15:44:02 +03:00
Suhas Daftuar
75e463decf Improve handling of unconnecting headers 2018-10-13 14:05:45 +03:00
Luke Dashjr
116f49d390 Implement BIP 9 GBT changes
- BIP9DeploymentInfo struct for static deployment info
- VersionBitsDeploymentInfo: Avoid C++11ism by commenting parameter names
- getblocktemplate: Make sure to set deployments in the version if it is LOCKED_IN
- In this commit, all rules are considered required for clients to support
2018-10-13 02:42:30 +03:00
lateminer
d452787a2c Completely remove coinage 2018-10-12 00:04:41 +03:00
lateminer
b1bb30cb3a Remove address indexes 2018-10-11 22:02:52 +03:00
lateminer
3a29ae6903 Some code refactoring and cleanup 2018-10-02 01:04:31 +03:00
BtcDrak
556187e3f8 Remove bad chain alert partition check
As per meeting 2016-03-31
https://bitcoincore.org/en/meetings/2016/03/31/#bad-chain-alerts

The partition checker was producing huge number of false-positives
and was disabled in 0.12.1 on the understanding it would either be
fixed in 0.13 or removed entirely from master if not.
2018-09-30 18:14:12 +03:00
BtcDrak
8fb8ada384 Remove -alerts option 2018-09-30 18:06:51 +03:00
Pieter Wuille
722169b74d Make ProcessNewBlock dbp const and update comment 2018-01-13 12:38:06 +03:00
lateminer
3d26f43eb0 mempool: Replace maxFeeRate of 10000*minRelayTxFee with maxTxFee
fa331db68b
2018-01-13 01:30:21 +03:00
lateminer
72875a2116 Relay double-spends, subject to anti-DOS
cef3711500 (diff-7ec3c68a81efff79b6ca22ac1f1eabbaL929)
2018-01-10 21:52:38 +03:00
lateminer
b808896d4c [Wallet] refactor wallet/init interaction
25340b7cd5
2018-01-07 15:29:36 +03:00
janko33bd
92bc14233f Implementation of OP_COUNT_ACK 2018-01-05 22:06:35 +01:00
janko33bd@gmail.com
0730bc5745 Lieutenant Dan got me invested in some kind of fruit company.
So then I got a call from him, saying we don't have to worry about money
no more. And I said, that's good! One less thing.
2017-06-09 21:13:08 +02:00
janko33bd
2fdd12b2ea Blackcoin Lore 2017-05-30 21:33:31 +02:00
Pieter Wuille
2cad5db6f7 Align constant names for maximum compact block / blocktxn depth
Github-Pull: #8637
Rebased-From: 3ac6de0a045cc9b2047ceb19af970e7ffbf905fa
2016-11-20 15:08:16 +01:00
Suhas Daftuar
015865ee9e Fix compact block handling to not ban if block is invalid 2016-11-01 13:20:21 -04:00
leijurv
befe654f0f various typos
Github-Pull: #8505
Rebased-From: 1aacfc2da521a8e0d718e9ac561d9b2d7916eb0b
2016-09-21 02:43:47 +00:00
Pieter Wuille
a9429ca26d Reduce default number of blocks to check at startup
Github-Pull: #8611
Rebased-From: 203f2121be0a84e85f7dff9cca9a30387005954f
2016-09-09 12:04:55 +02:00
Pieter Wuille
b8c79a057c Precompute sighashes
Original version by Nicolas Dorier. Precomputing version by Pieter Wuille.
2016-09-07 16:42:41 +02:00
Braydon Fuller
de6f29ec43 Merge pull request #29 from danjurious/logicalts
logical timestamp indexing of block hashes
2016-08-18 12:27:37 -04:00
Chethan Krishna
c8458bf963 logical timestamp indexing of block hashes 2016-08-17 10:14:46 -04:00