Commit Graph

10057 Commits

Author SHA1 Message Date
Pieter Wuille
f362c610e4 Merge #7600: Mining: Select transactions using feerate-with-ancestors
29fac19 Add unit tests for ancestor feerate mining (Suhas Daftuar)
c82a4e9 Use ancestor-feerate based transaction selection for mining (Suhas Daftuar)
2017-12-28 11:44:59 +01:00
Alexander Block
79ad5f7682 Bump univalue version
This was probably missed while backporting Bitcoin PR #7892
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
c783b39ce7 Merge #8171: [RPC] Fix createrawtx sequence number unsigned int parsing
6fa950a [RPC] Fix createrawtx sequence number unsigned int parsing (Jonas Schnelli)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
402eb55732 Merge #8208: Do not set extra flags for unfiltered DNS seed results
bc0a895 Do not set extra flags for unfiltered DNS seed results (Pieter Wuille)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
9875ab5353 Merge #8207: [trivial] Add a link to the Bitcoin-Core repository and website to the About Dialog
fa58e5e [doc] Add website links to about dialog (MarcoFalke)
2017-12-28 11:44:59 +01:00
Jonas Schnelli
96180a1896 Merge #7636: Add bitcoin address label to request payment QR code
1c2a1ba Add address label to request payment QR Code (QT) (Francesco 'makevoid' Canessa)
2017-12-28 11:44:59 +01:00
Alexander Block
fa25499868 Swap iterations and fUseInstantSend parameters in ApproximateBestSubset (#1819)
#1695 introduced a fix for a instant send related edge case. Somehow the
parameters got mixed up and fUseInstantSend was passed as "iterations".
2017-12-28 03:49:05 +03:00
Alexander Block
10786fe8e8 Use travis_wait for "wine test_dash.exe" call to fix timeouts (#1812)
* Revert "Adjust tests to avoid Travis timeouts (#1745)"

This reverts commit 32f21698e8.

* Revert "Show test progress for tests running in wine to avoid Travis timeout (#1740)"

This reverts commit 31bc9d4ee8.

* Use travis_wait when calling "wine test_dash.exe"
2017-12-27 20:41:24 +03:00
Alexander Block
4bce3bf8b2 Fix crash on exit when -createwalletbackups=0 (#1810) 2017-12-27 20:41:04 +03:00
Alexander Block
0c61226347 Also revert BLOCK_DOWNLOAD_TIMEOUT_PER_PEER to 500000
Same reason as for reverting BLOCK_DOWNLOAD_TIMEOUT_BASE
2017-12-27 14:07:52 +01:00
Alexander Block
c7937c202e Remove unnecessary call to AddInventoryKnown in INV message handling
This should have been part of Bitcoin #7960 but was missed in merge
conflict resolution.
2017-12-27 14:07:19 +01:00
Alexander Block
49f9d613b0 Revert to BLOCK_DOWNLOAD_TIMEOUT_BASE = 1000000
This value is in "millionths of the block interval" and in Bitcoin it's set
to exactly 1000000, meaning one full block interval. It still has to be
1000000 for Dash, even though the block intervall is less.

This fixes test failures in p2p-fullblocktest.py when large reorgs are
tested. These take quite some time and did timeout.
2017-12-22 19:35:34 +01:00
Alexander Block
05c8f2ee2c Dashify new tests in bitcoin-util-test.json 2017-12-22 19:35:34 +01:00
Wladimir J. van der Laan
e7e3a80712 Merge #8141: Continuing port of java comparison tool
ff2dcf2 Tests: Edit bloated varint test and add option for 'barely expensive' tests (mrbandrews)
12c5a16 Catch exceptions from non-canonical encoding and print only to log (mrbandrews)
291f8aa Continuing port of java comptool (mrbandrews)
8c9e681 Tests: Rework blockstore to avoid re-serialization. (mrbandrews)
2017-12-22 17:20:43 +01:00
Wladimir J. van der Laan
6a698300ab 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)
2017-12-22 17:20:43 +01:00
Wladimir J. van der Laan
b95a338b30 Merge #8133: build: Finish up out-of-tree changes
d1a3d57 bulid: fix "make translate" when out-of-tree (Cory Fields)
340012d build: add temporary fix for "bad magic number" error in out-of-tree builds (Cory Fields)
142ffc7 travis: use out-of-tree build (Cory Fields)
92e37a3 build: fix out-of-tree 'make deploy' for osx (Cory Fields)
ab95d5d build: a few ugly hacks to get the rpc tests working out-of-tree (Cory Fields)
fc4ad0c build: more out-of-tree fixups (Cory Fields)
0cb0f26 build: out-of-tree fixups (Cory Fields)
2017-12-22 17:20:31 +01:00
Wladimir J. van der Laan
79db88bbb1 Merge #8181: build: Get rid of CLIENT_DATE
d096d22 build: Get rid of `CLIENT_DATE` (Wladimir J. van der Laan)
2017-12-22 17:20:31 +01:00
Pieter Wuille
b9a00f6294 Merge #7292: [RPC] Expose ancestor/descendant information over RPC
176e19b Mention new RPC's in release notes (Suhas Daftuar)
7f6eda8 Add ancestor statistics to mempool entry RPC output (Suhas Daftuar)
a9b8390 Add test coverage for new RPC calls (Suhas Daftuar)
b09b813 Add getmempoolentry RPC call (Suhas Daftuar)
0dfd869 Add getmempooldescendants RPC call (Suhas Daftuar)
8f7b5dc Add getmempoolancestors RPC call (Suhas Daftuar)
5ec0cde Refactor logic for converting mempool entries to JSON (Suhas Daftuar)
2017-12-22 17:20:31 +01:00
Wladimir J. van der Laan
2e3aacf43f Merge #8166: src/test: Do not shadow local variables
c2715d3 Do not shadow local variables (Pavel Janík)
2017-12-22 17:20:31 +01:00
Wladimir J. van der Laan
aa6cb48bfa Merge #8154: drop vAddrToSend after sending big addr message
d3d02d5 drop vAddrToSend after sending big addr message (Kaz Wesley)
2017-12-22 17:20:31 +01:00
Wladimir J. van der Laan
ca228f09ff Merge #8168: util: Add ParseUInt32 and ParseUInt64
e012f3c util: Add ParseUInt32 and ParseUInt64 (Wladimir J. van der Laan)
2017-12-22 17:20:31 +01:00
Wladimir J. van der Laan
cfc76bab9a Merge #8172: Fix two warnings for comparison between signed and unsigned
77f63a4 Fix two warnings for comparison between signed and unsigned (Pieter Wuille)
2017-12-22 17:20:31 +01:00
Alexander Block
80d02d8f5e Use nRelevantServices for requiredServiceBits
Missed due to out of order backporting of network changes
2017-12-22 16:33:56 +01:00
Pieter Wuille
b3e26cc757 Merge #8083: Add support for dnsseeds with option to filter by servicebits
2d83013d Add support for dnsseeds with option to filter by servicebits (Jonas Schnelli)
2017-12-22 16:33:56 +01:00
Pieter Wuille
361d26037b Merge #8173: Use SipHash for node eviction (cont'd)
eebc232 test: Add more test vectors for siphash (Wladimir J. van der Laan)
8884830 Use C++11 thread-safe static initializers (Pieter Wuille)
c31b24f Use 64-bit SipHash of netgroups in eviction (Pieter Wuille)
9bf156b Support SipHash with arbitrary byte writes (Pieter Wuille)
053930f Avoid recalculating vchKeyedNetGroup in eviction logic. (Patrick Strateman)
2017-12-22 16:33:56 +01:00
Wladimir J. van der Laan
05419aba3c Merge #8153: [rpc] fundrawtransaction feeRate: Use BTC/kB
fa7f4f5 [rpc] fundrawtransaction feeRate: Use BTC/kB (MarcoFalke)
faf82e8 [rpc] fundrawtransaction: Fix help text and interface (MarcoFalke)
2017-12-22 16:33:56 +01:00
Wladimir J. van der Laan
ca699cebaa Merge #8126: std::shared_ptr based CTransaction storage in mempool
288d85d Get rid of CTxMempool::lookup() entirely (Pieter Wuille)
c2a4724 Optimization: use usec in expiration and reuse nNow (Pieter Wuille)
e9b4780 Optimization: don't check the mempool at all if no mempool req ever (Pieter Wuille)
dbfb426 Optimize the relay map to use shared_ptr's (Pieter Wuille)
8d39d7a Switch CTransaction storage in mempool to std::shared_ptr (Pieter Wuille)
1b9e6d3 Add support for unique_ptr and shared_ptr to memusage (Pieter Wuille)
2017-12-22 16:33:56 +01:00
Pieter Wuille
51fa05ac33 Merge #8082: Defer inserting into maprelay until just before relaying.
4d8993b Defer inserting into maprelay until just before relaying. (Gregory Maxwell)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
881d8329ca Merge #7703: tor: Change auth order to only use password auth if -torpassword
2e49448 tor: Change auth order to only use HASHEDPASSWORD if -torpassword (Wladimir J. van der Laan)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
00c84ca53e Merge #8065: Addrman offline attempts
6182d10 Do not increment nAttempts by more than one for every Good connection. (Gregory Maxwell)
c769c4a Avoid counting failed connect attempts when probably offline. (Gregory Maxwell)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
2ee817fb0d Merge #8078: Disable the mempool P2P command when bloom filters disabled
3d3602f Add RPC test for the p2p mempool command in conjunction with disabled bloomfilters (Jonas Schnelli)
beceac9 Disable the mempool P2P command when bloom filters disabled (Peter Todd)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
0b8169d498 Merge #8164: [Bitcoin-Tx] fix missing test fixtures, fix 32bit atoi issue
86efa30 [Bitcoin-Tx] fix missing test fixtures, fix 32bit atoi issue (Jonas Schnelli)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
9af87c8269 Merge #7957: [RPC][Bitcoin-TX] Add support for sequence number
ae357d5 [Bitcoin-Tx] Add tests for sequence number support (Jonas Schnelli)
e59336f [bitcoin-tx] allow to set nSequence number over the in= command (Jonas Schnelli)
a946bb6 [RPC] createrawtransaction: add option to set the sequence number per input (Jonas Schnelli)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
d5d25564cf Merge #8136: Log/report in 10% steps during VerifyDB
8b78486 Log/report in 10% steps during VerifyDB (Jonas Schnelli)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
7f0213ac3e Merge #8118: Reduce unnecessary hashing in signrawtransaction
bd0f413 Reduce unnecessary hashing in signrawtransaction (Jonas Nick)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
49c2e9702b Merge #8151: [init] Make feefilter option debug option
fa51a1d [init] Make feefilter option debug option (MarcoFalke)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
b2bd69a7a9 Merge #8142: Improve CWallet API with new GetAccountPubkey function.
152ab23 Improve CWallet API  with new GetAccountPubkey function. (Patrick Strateman)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
463a68d4a5 Merge #8007: Minor locking improvements
f0fdda0 IsInitialBlockDownload: usually avoid locking (Kaz Wesley)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
d7d5d577f4 Merge #8137: Improve CWallet API with new AccountMove function.
9dfaa1c Improve CWallet API with new AccountMove function. (Patrick Strateman)
2017-12-22 16:33:55 +01:00
Jonas Schnelli
7538795b1f Merge #8143: comment nit: miners don't vote
e39dc69 comment nit: miners don't vote (instagibbs)
2017-12-22 16:33:55 +01:00
Wladimir J. van der Laan
c69df9b82c Merge #7967: [RPC] add feerate option to fundrawtransaction
04eaa90 Add more clear interface for CoinControl.h regarding individual feerate (Jonas Schnelli)
3b35e48 [RPC] add feerate option to fundrawtransaction (Jonas Schnelli)
2017-12-22 16:33:55 +01:00
Pieter Wuille
fb88e9b607 Merge #7997: replace mapNextTx with slimmer setSpends
9805f4a mapNextTx: use pointer as key, simplify value (Kaz Wesley)
2017-12-22 16:33:55 +01:00
Pieter Wuille
df14a7f009 Merge #7825: Prevent multiple calls to ExtractDestination
0bf6f30 Prevent multiple calls to ExtractDestination (Pedro Branco)
2017-12-22 16:33:52 +01:00
Pieter Wuille
fefd0ace3e Merge #8077: Consensus: Decouple from chainparams.o and timedata.o
ee9f4a5 Consensus: Decouple from chainparams.o and timedata.o (Jorge Timón)
2017-12-22 16:33:04 +01:00
Pieter Wuille
bf069fb1bd Merge #8123: Use std::atomic for fRequestShutdown and fReopenDebugLog
a886dbf Use std::atomic for fRequestShutdown and fReopenDebugLog (Pieter Wuille)
16cf85f Revert "Include signal.h for sig_atomic_t in WIN32" (Pieter Wuille)
2017-12-22 16:33:04 +01:00
Pieter Wuille
09eda9783a Merge #8112: Include signal.h for sig_atomic_t in WIN32
88f14b9 Include signal.h for sig_atomic_t in WIN32 (Pieter Wuille)
2017-12-22 16:33:04 +01:00
Pieter Wuille
bad08eadf8 Merge #7960: Only use AddInventoryKnown for transactions
383fc10 Only use AddInventoryKnown for transactions (Suhas Daftuar)
2017-12-22 16:33:04 +01:00
Alexander Block
433a026a15 Fix OpenSSL build error 2017-12-22 16:33:04 +01:00
Pieter Wuille
91752ab7ed Merge #7689: Replace OpenSSL AES with ctaes-based version
723779c build: Enumerate ctaes rather than globbing (Cory Fields)
34ed64a crypter: add tests for crypter (Cory Fields)
0a36b9a crypter: shuffle Makefile so that crypto can be used by the wallet (Cory Fields)
976f9ec crypter: add a BytesToKey clone to replace the use of openssl (Cory Fields)
9049cde crypter: hook up the new aes cbc classes (Cory Fields)
fb96831 crypter: constify encrypt/decrypt (Cory Fields)
1c391a5 crypter: fix the stored initialization vector size (Cory Fields)
daa3841 crypto: add aes cbc tests (Cory Fields)
27a212d crypto: add AES 128/256 CBC classes (Cory Fields)
6bec172 Add ctaes-based constant time AES implementation (Pieter Wuille)
a545127 Squashed 'src/crypto/ctaes/' content from commit cd3c3ac (Pieter Wuille)
2017-12-22 16:33:04 +01:00
Alexander Block
83dc1dc99c Directly push messages instead of using CDataStream first 2017-12-22 16:33:04 +01:00
Wladimir J. van der Laan
dfa0bd2341 Merge #8080: Do not use mempool for GETDATA for tx accepted after the last mempool req.
7e908c7 Do not use mempool for GETDATA for tx accepted after the last mempool req. (Gregory Maxwell)
2017-12-22 16:33:03 +01:00
Alexander Block
b2a27c0624 Only serve normal transactions from mapRelay
Bitcoin #7877 changed mapRelay to be indexed by hash instead of inv. This
means that we may end up with a false-positive match here and send out an
instant transaction as normal transaction.
2017-12-22 16:33:03 +01:00
Wladimir J. van der Laan
bef036125f Merge #7877: Change mapRelay to store CTransactions
38c3102 Change mapRelay to store CTransactions (Pieter Wuille)
2017-12-22 16:33:03 +01:00
Alexander Block
2dc71e8e08 Revert deadlock fix in ProcessGetData
Fix was introdeced in:
https://github.com/dashpay/dash/pull/1169
A fix was later applied to fix a race condition:
https://github.com/dashpay/dash/pull/1178

This has to be reverted to be able to backport multiple changes from Bitcoin.
Later backported PRs from Bitcoin will remove cs_mapRelay and thus also
remove the deadlock that was initially fixed with the above PRs.
2017-12-22 16:33:03 +01:00
Wladimir J. van der Laan
d8c5a59005 Merge #8090: Adding P2SH(p2pkh) script test case
b682960 Adding P2SH(p2pkh) script test case (Chris Stewart)
2017-12-22 16:33:03 +01:00
UdjinM6
af1233cb48
Merge pull request #1804 from codablock/pr_backport_bitcoin_0.13-4
Backport missing PRs from Bitcoin 0.13 - Part 4
2017-12-22 17:21:33 +03:00
Alexander Block
5496e468a6 Dashify a few docs and the use of an address 2017-12-22 06:09:04 +01:00
Alexander Block
5ba21d4e33 Revert "ReprocessBlocks"->"ResetBlockFailureFlags" in debug message 2017-12-22 06:08:29 +01:00
Alexander Block
b1df5e9e87 Align sorting in OverviewPage::SetupTransactionList with transaction view 2017-12-22 06:03:27 +01:00
Alexander Block
abe84cb9ec Use GetStrongRandBytes in CMnemonic::Generate 2017-12-22 06:00:51 +01:00
Wladimir J. van der Laan
a3c63033d1 Merge #8115: Avoid integer division in the benchmark inner-most loop.
63ff57d Avoid integer division in the benchmark inner-most loop. (Gregory Maxwell)
2017-12-21 18:50:14 +01:00
Pieter Wuille
43cbeb7fa5 Merge #7891: Always require OS randomness when generating secret keys
628cf14 Don't use assert for catching randomness failures (Pieter Wuille)
fa2637a Always require OS randomness when generating secret keys (Pieter Wuille)
2017-12-21 18:50:14 +01:00
Wladimir J. van der Laan
cee571bda4 Merge #8107: bench: Added base58 encoding/decoding benchmarks
5fac1f3 bench: Added base58 encoding/decoding benchmarks (Yuri Zhykin)
2017-12-21 18:50:14 +01:00
Wladimir J. van der Laan
a39b1f7b8d Merge #7896: fix typo in help text
fc95f6e fix typo in help text (Chris Moore)
2017-12-21 18:50:14 +01:00
Wladimir J. van der Laan
6c962f5e69 Merge #8111: Benchmark SipHash
619d569 Benchmark SipHash (Pieter Wuille)
2017-12-21 18:50:14 +01:00
MarcoFalke
8d47ecb232 Merge #8108: Trivial: Remove unused local variable shadowing upper local
13c4558 Remove unused local variable shadowing upper local (Pavel Janík)
2017-12-21 18:50:14 +01:00
Wladimir J. van der Laan
b71ee087ad Merge #8015: CCoinsViewErrorCatcher raison-d-etre
a4d5855 CCoinsViewErrorCatcher raison-d-etre (21E14)
2017-12-21 18:50:14 +01:00
Pieter Wuille
640bee1814 Merge #7795: UpdateTip: log only one line at most per block
f20d42e UpdateTip: log only one line at most per block (Wladimir J. van der Laan)
2017-12-21 18:50:14 +01:00
Alexander Block
51d17dcde3 Move AutoBackupWallet into wallet.cpp 2017-12-21 18:50:14 +01:00
Pieter Wuille
8723f99569 Merge #8061: [Wallet] Improve Wallet encapsulation
380498a Move BackupWallet to CWallet::BackupWallet (Patrick Strateman)
ecb9741 Move GetAccountBalance from rpcwallet.cpp into CWallet::GetAccountBalance (Patrick Strateman)
2017-12-21 18:50:14 +01:00
Pieter Wuille
c571a94906 Merge #8076: VerifyDB: don't check blocks that have been pruned
bd477f4 VerifyDB: don't check blocks that have been pruned (Suhas Daftuar)
2017-12-21 18:50:14 +01:00
Pieter Wuille
42a3e0d2d7 Merge #8063: Acquire lock to check for genesis block.
46b0c3b Acquire lock to check for genesis block. (Patrick Strateman)
2017-12-21 18:50:14 +01:00
Jonas Schnelli
3f5be563f4 Merge #8014: Qt: Sort transactions by date
2d5603c Qt: Sort transactions by date (Tyler Hardin)
2017-12-21 18:50:13 +01:00
Ethan Heilman
8eeaa4f212 Fix typo adddrman to addrman as requested in #8070 2017-12-21 18:50:13 +01:00
Wladimir J. van der Laan
1897ccc646 Merge #8033: Fix Socks5() connect failures to be less noisy and less unnecessarily scary
bf9266e Use Socks5ErrorString() to decode error responses from socks proxy. (Warren Togami)
94fd1d8 Make Socks5() InterruptibleRecv() timeout/failures informative. (Warren Togami)
0d9af79 SOCKS5 connecting and connected messages with -debug=net. (Warren Togami)
00678bd Make failures to connect via Socks5() more informative and less unnecessarily scary. (Warren Togami)
2017-12-21 18:50:13 +01:00
Wladimir J. van der Laan
0450dfdeb8 Merge #7932: CAddrMan::Deserialize handle corrupt serializations better.
fb26bf0 CAddrMan::Deserialize handle corrupt serializations better. (Patrick Strateman)
2017-12-21 18:50:13 +01:00
Wladimir J. van der Laan
8b28f5f995 Merge #8020: Use SipHash-2-4 for various non-cryptographic hashes
a68ec21 Use SipHash-2-4 for address relay selection (Pieter Wuille)
8cc9cfe Switch CTxMempool::mapTx to use a hash index for txids (Pieter Wuille)
382c871 Use SipHash-2-4 for CCoinsCache index (Pieter Wuille)
0b1295b Add SipHash-2-4 primitives to hash (Pieter Wuille)
2017-12-21 18:50:13 +01:00
MarcoFalke
a0afc3ee01 Merge #8038: [qa, doc] Various minor fixes
fa83a5d [qa] wallet: Temporarily disable salvagewallet test (MarcoFalke)
fadd048 [doc] Link to clang-format in the developer notes (MarcoFalke)
fa72f7d [doc] Remove outdated line from listunspent RPC help, fix typo (MarcoFalke)
ac40ed7 Increase timeout waiting for pruned blk00000.dat (error10)
2017-12-21 18:50:13 +01:00
Pieter Wuille
7b25879463 Merge #8059: Remove unneeded feerate param from RelayTransaction/AcceptToMemoryPool.
d87b198 Remove unneeded feerate param from RelayTransaction/AcceptToMemoryPool. (Gregory Maxwell)
2017-12-21 18:50:13 +01:00
Wladimir J. van der Laan
26f07f835c Merge #8004: signal handling: fReopenDebugLog and fRequestShutdown should be type sig_atomic_t
3262316 fReopenDebugLog and fRequestShutdown should be type sig_atomic_t (Chirag Davé)
2017-12-21 18:50:13 +01:00
Pieter Wuille
4ee3858426 Merge #8039: bench: Add crypto hash benchmarks
32114dd bench: Add crypto hash benchmarks (Wladimir J. van der Laan)
2017-12-21 18:50:13 +01:00
Wladimir J. van der Laan
76b72a7f2b Merge #8028: Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDisk
0fd5997 Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDisk (Patrick Strateman)
2017-12-21 18:50:13 +01:00
Wladimir J. van der Laan
4750be1afb Merge #8036: init: Move berkeleydb version reporting to wallet
3e2c946 init: Move berkeleydb version reporting to wallet (Wladimir J. van der Laan)
2017-12-21 18:50:13 +01:00
Wladimir J. van der Laan
3dbae2d321 Merge #8019: Remove state arg from ReconsiderBlock, rename to ResetBlockFailureFlags
657e07e Rename ReconsiderBlock func to reflect real behavior (instagibbs)
addb9d2 Remove state arg from ReconsiderBlock (instagibbs)
2017-12-21 18:50:13 +01:00
Jonas Schnelli
262e857db9 Merge #8012: Qt: Delay user confirmation of send
3902a29 Qt: Delay user confirmation of send (Tyler Hardin)
2017-12-21 18:50:13 +01:00
Alexander Block
3d665aa485 Use fThread = true default argument in CAlert::Notify
Instead of fully backporting Bitcoin #7958, we make true the default value
for fThread. Otherwise the AlertNotify test case will fail as it expects
the alerts to be processed synchronously.
2017-12-21 18:50:08 +01:00
UdjinM6
3110f7ebdd
Fix issues introduced in 1770 (#1803) 2017-12-21 19:58:38 +03:00
Wladimir J. van der Laan
5222e9377d Merge #7976: Remove obsolete reference to CValidationState from UpdateCoins.
c8b9248 Remove obsolete reference to CValidationState from UpdateCoins. (21E14)
2017-12-21 17:31:57 +01:00
Wladimir J. van der Laan
93be53e34e Merge #7934: Improve rolling bloom filter performance and benchmark
1953c40 More efficient bitsliced rolling Bloom filter (Pieter Wuille)
aa62b68 Benchmark rolling bloom filter (Pieter Wuille)
2017-12-21 17:31:57 +01:00
Wladimir J. van der Laan
c66fcf47e0 Merge #8011: don't run ThreadMessageHandler at lowered priority
e53e7c5 don't run ThreadMessageHandler at lowered priority (Kaz Wesley)
2017-12-21 17:30:51 +01:00
Alexander Block
d4b8abf4ff Send non-tx/non-block inventory items
Bitcoin #7840 has split the INVs to send into block and TX and completely
ignores non-tx/non-block items in PushInventory. This is fine for Bitcoin,
as they only use it for blocks and TXs, but we also have a lot of MN related
messages which also need to be relayed.
2017-12-21 17:30:51 +01:00
Wladimir J. van der Laan
5d8e94a26f Merge #7840: Several performance and privacy improvements to inv/mempool handling
b559914 Move bloom and feerate filtering to just prior to tx sending. (Gregory Maxwell)
4578215 Return mempool queries in dependency order (Pieter Wuille)
ed70683 Handle mempool requests in send loop, subject to trickle (Pieter Wuille)
dc13dcd Split up and optimize transaction and block inv queues (Pieter Wuille)
f2d3ba7 Eliminate TX trickle bypass, sort TX invs for privacy and priority. (Gregory Maxwell)
2017-12-21 17:30:51 +01:00
Wladimir J. van der Laan
33233409a9 Merge #7966: http: Do a pending c++11 simplification handling work items
f0188f9 http: use std::move to move HTTPRequest into HTTPWorkItem (Wladimir J. van der Laan)
37b2137 http: Change boost::scoped_ptr to std::unique_ptr in HTTPRequest (Wladimir J. van der Laan)
f97b410 http: Add log message when work queue is full (Wladimir J. van der Laan)
091d6e0 http: Do a pending c++11 simplification (Wladimir J. van der Laan)
2017-12-21 17:30:51 +01:00
Wladimir J. van der Laan
90b00cfc66 Merge #7953: Create signmessagewithprivkey rpc
7db0ecb Test for signing messages (Andrew Chow)
f90efbf Create signmessagewithprivkey rpc (Andrew)
2017-12-21 17:30:51 +01:00
UdjinM6
0c5302e815
Merge pull request #1795 from codablock/pr_backport_bitcoin_0.13-3
Backport missing PRs from Bitcoin 0.13 - Part 3
2017-12-21 17:32:41 +03:00
UdjinM6
ebbd26a054
Drop IsInputAssociatedWithPubkey and optimize CheckOutpoint (#1783)
* Drop IsInputAssociatedWithPubkey and optimize CheckOutpoint

* typo
2017-12-21 16:03:02 +03:00
Alexander Block
b78bd5cc76 Dashify help text of fundrawtransaction 2017-12-21 07:12:35 +01:00
Alexander Block
da2de07718 Put ps_rounds to the bottom of the result of listunspent
Avoids future conflicts in upcoming backports
2017-12-21 07:02:24 +01:00
Alexander Block
15fc7f2133 De-bump fees in miner_tests.cpp
Bumped unnecessarily 10x when backporting PRs
2017-12-21 06:57:45 +01:00
Alexander Block
2c63839f23 Dashify fundrawtransaction exception
Fixes test failure
2017-12-20 17:32:14 +01:00
Wladimir J. van der Laan
f8ad2ffa79 Merge #7977: [trivial] Add missing const qualifiers.
f7c4f79 [trivial] Add missing const qualifiers. (Daniel Kraft)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
d55b78eb68 Merge #8000: tinyformat: force USE_VARIADIC_TEMPLATES
08d7b56 util: switch LogPrint and error to variadic templates (Wladimir J. van der Laan)
9eaa0af tinyformat: force USE_VARIADIC_TEMPLATES (Wladimir J. van der Laan)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
49c3127b55 Merge #7974: More comments on the design of AttemptToEvictConnection.
d90351f More comments on the design of AttemptToEvictConnection. (Gregory Maxwell)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
6662e23a0a Merge #7982: build: No need to check for leveldb atomics
de98290 build: No need to check for leveldb atomics (Cory Fields)
2017-12-20 17:25:03 +01:00
Alexander Block
7c6dab037b Return from main instead of calling exit()
Align with upstream
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
a468803bd9 Merge #7964: Minor changes for c++11 consistency
07e4edb auto_ptr → unique_ptr (Wladimir J. van der Laan)
073225c chain: define enum used as bit field as uint32_t (Wladimir J. van der Laan)
2017-12-20 17:25:03 +01:00
MarcoFalke
d975013160 Merge #7807: Fixed miner test values, gave constants for less error-prone values.
f8536a6 Corrected values (instagibbs)
617deeb Gave miner test values constants for less error-prone values. (instagibbs)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
61227bb21c Merge #7962: CalculateNextWorkRequired Cleanup
c7aac2d Deprecating the remaining LogPrintf dependencies that were made obsolete in PR #7459. (21E14)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
03507a720c Merge #7952: Log invalid block hash to make debugging easier.
61c0170 Log invalid block hash to make debugging easier. (Pavel Janík)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
c8bb792f41 Merge #7939: qt: Make it possible to show details for multiple transactions
f135e3c qt: Add transaction hash to details window title (Wladimir J. van der Laan)
17a6a21 qt: Make it possible to show details for multiple transactions (Wladimir J. van der Laan)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
d69bcb1a0c Merge #7941: Fixing comment in script_test.json test case
62a9abd Fixing comment in script_test.json test case (Chris Stewart)
2017-12-20 17:25:03 +01:00
Alexander Block
7973142f16 Reformat listunstpent help to align with upstream 2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
5cf744532b Merge #7916: Explicitly pass CChainParams& to DisconnectTip()
176869f Explicitly pass CChainParams to ConnectBlock (face)
d0a6353 Pass CChainParams to DisconnectTip() (face)
764d237 Globals: Explicitly pass const CChainParams& to UpdateTip() (Jorge Timón)
2017-12-20 17:25:03 +01:00
Alexander Block
a60c351826 Error/Warning fixes for HD wallet part in wallet.cpp 2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
bacc864640 Merge #7787: [Moveonly] Create ui_interface.cpp
fa10ce6 Move ui_interface.cpp to libbitcoin_server_a_SOURCES (MarcoFalke)
fabbf80 [ui] Move InitError, InitWarning, AmountErrMsg (MarcoFalke)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
8678f2b391 Merge #7905: test: move accounting_tests and rpc_wallet_tests to wallet/test
b30fb42 test: Rename wallet.dat to wallet_test.dat (Wladimir J. van der Laan)
a25a4f5 wallet_ismine.h → script/ismine.h (Wladimir J. van der Laan)
f4eae2d test: Create test fixture for wallet (Wladimir J. van der Laan)
de39c95 test: move accounting_tests and rpc_wallet_tests to wallet/test (Wladimir J. van der Laan)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
4f5bb798e7 Merge #7827: Speed up getchaintips.
87049e8 Speed up getchaintips. (mrbandrews)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
1b17e94ee6 Merge #7900: fix spelling mistake
3107c47 fix spelling mistake (Chris Moore)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
96f9a7c3eb Merge #7897: add missing newline
dc0693f add missing newline (Chris Moore)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
cfb8b82dc3 Merge #7848: Divergence between 32- and 64-bit when hashing >4GB affects gettxoutsetinfo
28b400f doc: update release-notes for `gettxoutsetinfo` change (Wladimir J. van der Laan)
76212bb rpc: make sure `gettxoutsetinfo` hash has txids (Wladimir J. van der Laan)
9ad1a51 crypto: bytes counts are 64 bit (Wladimir J. van der Laan)
2017-12-20 17:25:03 +01:00
Wladimir J. van der Laan
6c7d133801 Merge #7518: Add multiple options to fundrawtransaction
f2d0944 Add lockUnspents option to fundrawtransaction (João Barbosa)
af4fe7f Add change options to fundrawtransaction (João Barbosa)
41e835d Add strict flag to RPCTypeCheckObj (João Barbosa)
2017-12-20 17:25:02 +01:00
Wladimir J. van der Laan
24f8c248f5 Merge #7856: Only send one GetAddr response per connection.
66b0724 Only send one GetAddr response per connection. (Gregory Maxwell)
2017-12-20 17:25:02 +01:00
Alexander Block
d532f22d3b Use BIP32_EXTKEY_SIZE instead of fixed constant
This was missed in previous backports.
2017-12-20 17:25:02 +01:00
Wladimir J. van der Laan
7080c27dd6 Merge #7878: [test] bctest.py: Revert faa41ee
fa7abe0 [test] bctest.py: Revert faa41ee (MarcoFalke)
2017-12-20 17:25:02 +01:00
Wladimir J. van der Laan
ac53190bfe Add missing changes from Bitcoin #7853
Missed due to conflict resolution in out-of-order backports
2017-12-20 17:24:57 +01:00
Wladimir J. van der Laan
c176f6c5b5 Merge #7812: Tiny refactor of IsRBFOptIn, avoid exception
4f7c959 Refactor IsRBFOptIn, avoid exception (Jonas Schnelli)
2017-12-20 14:58:27 +01:00
Wladimir J. van der Laan
f1f3fa327a Merge #7846: Clean up lockorder data of destroyed mutexes
5eeb913 Clean up lockorder data of destroyed mutexes (Pieter Wuille)
2017-12-20 14:58:27 +01:00
Wladimir J. van der Laan
116b14b5f0 Merge #7849: tests: add varints_bitpatterns test
4521f00 tests: add varints_bitpatterns test (Wladimir J. van der Laan)
2017-12-20 14:58:27 +01:00
Wladimir J. van der Laan
cc3a06bf53 Merge #7863: getblockchaininfo: make bip9_softforks an object, not an array.
d12760b rpc-tests: handle KeyError nicely in test_framework.py (Rusty Russell)
85c807c getblockchaininfo: make bip9_softforks an object, not an array. (Rusty Russell)
2017-12-20 14:58:27 +01:00
Wladimir J. van der Laan
20cb9aa21d Merge #7796: [amount] Add support for negative fee rates
facf5a4 [amount] tests: Fix off-by-one mistake (MarcoFalke)
fa2da2c [amount] Add support for negative fee rates (MarcoFalke)
11114a6 [amount] test negative fee rates and full constructor (MarcoFalke)
2017-12-20 14:58:27 +01:00
Pieter Wuille
d983f1d785 Merge #7828: Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage()
bf477bc Trivial: Globals: Explicitly pass const CChainParams& to ProcessMessage() (Jorge Timón)
2017-12-20 14:58:27 +01:00
Wladimir J. van der Laan
2a7971010d Merge #7786: Doc: Update isStandardTx comment
03c77fd Doc: Update isStandardTx comment (Matthew English)
2017-12-20 14:45:12 +01:00
Wladimir J. van der Laan
b2d659f199 Merge #7570: Net: Add IPv6 Link-Local Address Support
eda3d92 Net: Add IPv6 Link-Local Address Support (mruddy)
2017-12-20 14:45:12 +01:00
Wladimir J. van der Laan
738e1c51c0 Merge #7793: [doxygen] Fix member comments
fada0c4 [doc] Fix doxygen comments for members (MarcoFalke)
2017-12-20 14:45:12 +01:00
Alexander Block
cd9c6994c2 Implement named devnets (#1791)
* Initial devnet

* Move genesis block adding into its own method

* Introduce -allowprivatenet to lift limitation on RFC1918 addresses

Normally, RFC1918 (192.168.x.x/10.x.x.x/...) addresses are not allowed
to be relayed. Also, masternodes won't start when the address is considered
invalid.

This is needed to test local devnet or regtest based networks.

* Lift the requirement of minimum MN age for regtest/devnet

* Implement named devnets

This allows the creation of multiple independent devnets. Each one is
identified by a name which is hardened into a "devnet genesis" block,
which is automatically positioned at height 1. Validation rules will
ensure that a node from devnet=test1 never be able to accept blocks
from devnet=test2. This is done by checking the expected devnet genesis
block.

The genesis block of the devnet is the same as the one from regtest. This
starts the devnet with a very low difficulty, allowing us to fill up
needed balances for masternodes very fast.

Also, the devnet name is put into the sub-version of the VERSION message.
If a node connects to the wrong network, it will immediately be disconnected.

* Allow to select multiple addresses from the same group in devnet/regtest

The selection code normally only allows to select addresses from the same
group (e.g. 192.168.x.x) once. This results in connecting to only a single
node in devnet/regtest.

* Show the devnet name in the title bar and on the loading screen

* Add AllowMultipleAddressesFromGroup to chainparams and use it in net.cpp

* Remove unused/unneeded scripts from devnet geneses creation

1. OP_RETURN not needed in input script of devnet genesis
2. genesisOutputScript was unused

* Fix copy/paste error in -allowprivatenet description

* Improve -devnet parameter error handling

- Only allow one of -devnet, -regtest or -testnet
- Only allow -devnet=name to be specified once

* Use different datadir for each devnet

* Fix `devnet-devnet` issue

* Fix devnet splashscreen (should use testnet img)

* Avoid passing devNetName around (most of the time)

* Remove nMaxTipAge from CDevNetParams

Not present anymore after rebase on develop
2017-12-20 14:45:01 +03:00
Alexander Block
e5b82075ac Fix no-wallet build after backports refactored RPCs 2017-12-20 08:39:44 +01:00
Alexander Block
f235b6a6ac Apply review suggestions/fixes 2017-12-20 07:51:20 +01:00
Wladimir J. van der Laan
6a515e5e20 Merge #7788: Use relative paths instead of absolute paths in protoc calls
0087f26 Use relative paths instead of absolute paths (Pavel Janík)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
e7d9ffa5d7 Merge #7774: RPC: add versionHex in getblock and getblockheader JSON results
92107d5 RPC: add versionHex in getblock and getblockheader JSON results; expand data in getblockchaininfo bip9_softforks field. (mruddy)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
7ba8612b58 Merge #7797: RPC: fix generatetoaddress failing to parse address
60361ca RPC: fix generatetoaddress failing to parse address and add unit test (mruddy)
2017-12-19 13:42:36 +01:00
Alexander Block
9dbda86cb1 HDWallet error/warning message fixes 2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
298224b3b7 Merge #7691: [Wallet] refactor wallet/init interaction
25340b7 [Wallet] refactor wallet/init interaction (Jonas Schnelli)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
21b23d1ec1 Merge #7785: Trivial: Fix typo: Optimizaton -> Optimization [skip ci]
a22bde9 Fix typo: Optimizaton -> Optimization (paveljanik)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
0956f3d67c Merge #7763: Put hex-encoded version in UpdateTip
eff736e Reformat version in UpdateTip and other messages (Pieter Wuille)
2017-12-19 13:42:36 +01:00
Wladimir J. van der Laan
644240157a Merge #7766: rpc: Register calls where they are defined
fb8a8cf rpc: Register calls where they are defined (Wladimir J. van der Laan)
2017-12-19 13:42:35 +01:00
Wladimir J. van der Laan
18da34e295 Merge #7761: [Qt] remove trailing output-index from transaction-id
7d5e31a [Qt] remove trailing output-index from transaction-id (Jonas Schnelli)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
1c84417780 Merge #7573: P2P: add maxtimeadjustment command line option
e1523ce P2P: add maxtimeadjustment command line option (mruddy)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
a9a209f586 Merge #7723: build: python 3 compatibility
18f05c7 build: python 3 compatibility (Wladimir J. van der Laan)
2017-12-19 13:18:30 +01:00
Alexander Block
a309bf372e Clear setInternalKeyPool and setExternalKeyPool instead of setKeyPool
Due to out of order backporting this was missed in the past
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
e2fefa539d Merge #7558: [RPC] Add import/removeprunedfunds rpc call
f1bb13c Added companion removeprunedfunds call. (instagibbs)
7eb7029 Add importprunedfunds rpc call (instagibbs)
2017-12-19 13:18:30 +01:00