Commit graph

6826 commits

Author SHA1 Message Date
Wladimir J. van der Laan
c49551886a
Merge pull request #7296
bebe58b SQUASHME: Fix rpc tests that assumed fallback to minRelayTxFee (Alex Morcos)
e420a1b Add sane fallback for fee estimation (Alex Morcos)
995b9f3 Always respect GetRequiredFee for wallet txs (Alex Morcos)
2016-01-13 11:04:31 +01:00
Jorge Timón
e86756193e MOVEONLY: non-consensus: from pow to chain:
- GetBlockProof
- GetBlockProofEquivalentTime
2016-01-12 13:43:14 +01:00
Gregory Sanders
94bdd71f9b Added help text for chainwork value 2016-01-11 12:06:55 -05:00
paveljanik
3a9dfe9d14 Fix typo, wrong information in gettxout help text. 2016-01-10 17:33:54 +01:00
Wladimir J. van der Laan
dd1304ec21
Merge pull request #7081
45b8e27 -bytespersigop option to additionally limit sigops in transactions we relay and mine (Luke Dashjr)
2016-01-09 18:01:54 +01:00
Luke Dashjr
fdc202f4b0 Merge branch bytespersigop 2016-01-09 16:53:12 +00:00
MarcoFalke
fa461df685 Clarify mocktime help message 2016-01-09 13:57:08 +01:00
calebogden
0331aa350c Fixing typos on security-check.py and torcontrol.cpp 2016-01-08 13:31:42 -08:00
Cory Fields
c0cf48d1ac c++11: add scoped enum fallbacks to CPPFLAGS rather than defining them locally
Due to include ordering, defining in one place was not enough to ensure correct
usage. Use global defines so that we don't have to worry abou this ordering.

Also add a comment in configure about the test.
2016-01-08 13:32:00 -05:00
Wladimir J. van der Laan
9de541a9c9
Merge pull request #7306
f61766b Make sure conflicted wallet tx's update balances (Alex Morcos)
2016-01-08 17:36:19 +01:00
Jonas Schnelli
8a7f0001be
[RPC] remove the option of having multiple timer interfaces 2016-01-08 11:18:28 +01:00
Jonas Schnelli
db198d51a6
Fix RPCTimerInterface ordering issue
Dispatching a QThread from a non Qt thread is not allowed. Always use the HTTPRPCTimerInterface (non QT) to dispatch RPCRunLater threads.
2016-01-08 11:15:00 +01:00
Alex Morcos
9e69717254 Make wallet descendant searching more efficient 2016-01-07 16:31:12 -05:00
Jonas Schnelli
b1cf0058d9
Merge pull request #7298
faf3299 [qt] Intro: Display required space (MarcoFalke)
2016-01-07 13:21:54 +01:00
MarcoFalke
faa572a329 [init] Help Msg: Use Params(CBaseChainParams::MAIN) 2016-01-07 12:10:13 +01:00
MarcoFalke
fa6ab96799 [init] Add missing help for args 2016-01-07 12:09:51 +01:00
MarcoFalke
fac11ea310 [init] Fix error message of maxtxfee invalid amount 2016-01-07 12:09:30 +01:00
Wladimir J. van der Laan
7b0a9a8040
Merge pull request #7266
6cd198f Removed comment about IsStandard for P2SH scripts (Marcel Krüger)
2016-01-07 11:58:37 +01:00
Wladimir J. van der Laan
5541560938
Merge pull request #7293
faf538b [trivial] Merge test cases and replace CENT with COIN (MarcoFalke)
fa3c7e6 [wallet] Add regression test for vValue sort order (MarcoFalke)
2016-01-07 09:24:34 +01:00
Wladimir J. van der Laan
d964b5bb1a
Merge pull request #7229
fa33d97 [walletdb] Add missing LOCK() in Recover() for dummyWallet (MarcoFalke)
fa14d99 [qa] check if wallet or blochchain maintenance changes the balance (MarcoFalke)
fa0765d [qa] Cleanup wallet.py test (MarcoFalke)
2016-01-07 09:17:11 +01:00
Wladimir J. van der Laan
de9e5ea75e
Merge pull request #7257
5e10922 Combine common error strings for different options so translations can be shared and reused (Luke Dashjr)
2016-01-07 09:12:20 +01:00
Alex Morcos
f61766b37b Make sure conflicted wallet tx's update balances 2016-01-06 17:24:30 -05:00
ptschip
2dfeaa1ad0 limitfreerelay edge case bugfix:
If a new transaction will cause limitfreerelay
to be exceeded it should not be accepted
into the memory pool and the byte counter
should be updated only after the fact.
2016-01-06 10:15:00 -08:00
Cory Fields
57d2f62c99 c++11: CAccountingEntry must be defined before use in a list
c++11ism. This fixes builds against libc++.
2016-01-05 17:17:29 -05:00
Cory Fields
89f71c68c0 c++11: don't throw from the reverselock destructor
noexcept is default for destructors as of c++11. By throwing in reverselock's
destructor if it's lock has been tampered with, the likely result is
std::terminate being called. Indeed that happened before this change.

Once reverselock has taken another lock (its ctor didn't throw), it makes no
sense to try to grab or lock the parent lock. That is be broken/undefined
behavior depending on the parent lock's implementation, but it shouldn't cause
the reverselock to fail to re-lock when destroyed.

To avoid those problems, simply swap the parent lock's contents with a dummy
for the duration of the lock. That will ensure that any undefined behavior is
caught at the call-site rather than the reverse lock's destruction.

Barring a failed mutex unlock which would be indicative of a larger problem,
the destructor should now never throw.
2016-01-05 17:17:29 -05:00
Cory Fields
76ac35f36d c++11: detect and correct for boost builds with an incompatible abi
This is ugly, but temporary. boost::filesystem will likely be dropped soon
after c++11 is enabled. Otherwise, we could simply roll our own copy_file. I've
fixed this at the buildsystem level for now in order to avoid mixing in
functional changes.

Explanation:
If boost (prior to 1.57) was built without c++11, it emulated scoped enums
using c++98 constructs. Unfortunately, this implementation detail leaked into
the abi. This was fixed in 1.57.

When building against that installed version using c++11, the headers pick up
on the native c++11 scoped enum support and enable it, however it will fail to
link. This can be worked around by disabling c++11 scoped enums if linking will
fail.

Add an autoconf test to determine incompatibility. At build-time, if native
enums are being used (a c++11 build), and force-disabling them causes a
successful link, we can be sure that there's an incompatibility and enable the
work-around.
2016-01-05 17:17:29 -05:00
Murch
96efcadfc0 Improved readability of sorting for coin selection.
Future proofing added lines
2016-01-05 22:03:43 +01:00
MarcoFalke
fa60d05a4e Add missing copyright headers 2016-01-05 21:34:15 +01:00
MarcoFalke
fa7e4c0919 Bump copyright headers to 2014 2016-01-05 21:01:39 +01:00
MarcoFalke
faf538bfdb [trivial] Merge test cases and replace CENT with COIN 2016-01-05 20:36:03 +01:00
MarcoFalke
faf3299b73 [qt] Intro: Display required space
Required space depends on the user's choice:
 -prune=0
 -prune=<n>
2016-01-05 19:22:47 +01:00
Alex Morcos
e420a1b15e Add sane fallback for fee estimation
Add new commandline option "-fallbackfee" to use when fee estimation does not have sufficient data.
2016-01-05 13:13:23 -05:00
Alex Morcos
995b9f385b Always respect GetRequiredFee for wallet txs 2016-01-05 13:10:19 -05:00
Wladimir J. van der Laan
605c17844e
Merge pull request #7205
fa71669 [devtools] Use git pretty-format for year parsing (MarcoFalke)
fa24439 Bump copyright headers to 2015 (MarcoFalke)
fa6ad85 [devtools] Rewrite fix-copyright-headers.py (MarcoFalke)
2016-01-05 14:11:40 +01:00
Jonas Schnelli
aa413687de
Merge pull request #7282
621bd69 [Qt] fix coincontrol update issue when deleting a send coin entry (Jonas Schnelli)
2016-01-05 13:02:00 +01:00
Wladimir J. van der Laan
2078495d9c
Merge pull request #7193
fafd093 [wallet] Adjust pruning test (MarcoFalke)
2016-01-05 12:55:00 +01:00
Wladimir J. van der Laan
a10a7920c3
Merge pull request #7217
5246180 Mark blocks with too many sigops as failed (Suhas Daftuar)
2016-01-05 12:04:53 +01:00
MarcoFalke
fa3c7e644f [wallet] Add regression test for vValue sort order 2016-01-05 00:40:20 +01:00
Wladimir J. van der Laan
ac982a16e0
Merge pull request #7263
a5a0831 Double semicolon cleanup. (21E14)
2016-01-04 10:17:09 +01:00
Wladimir J. van der Laan
136abda597
qt: periodic translations pull from transifex 2016-01-04 09:48:44 +01:00
Jonas Schnelli
621bd6919f
[Qt] fix coincontrol update issue when deleting a send coin entry 2016-01-04 09:44:36 +01:00
Jonas Schnelli
e289807e5a
Merge pull request #7255
6fd0a07 Remove hardcoded fee from CoinControl ToolTip (fanquake)
5fdf32d Replace some instances of formatWithUnit with formatHtmlWithUnit (fanquake)
2016-01-04 09:23:38 +01:00
Wladimir J. van der Laan
08ab9069af
Merge pull request #7256
33877ed Add note to CoinControl Dialog workaround (fanquake)
2016-01-04 09:21:35 +01:00
Peter Todd
fd836153d5
Improve CheckInputs() comment about sig verification 2016-01-03 20:39:05 -08:00
Pieter Wuille
7ef8f3c072 Report non-mandatory script failures correctly 2016-01-03 16:50:31 +01:00
fanquake
6fd0a079d8 Remove hardcoded fee from CoinControl ToolTip 2016-01-03 05:57:51 +08:00
fanquake
33877ed3b8 Add note to CoinControl Dialog workaround 2016-01-02 17:35:33 +08:00
Marcel Krüger
6cd198f380 Removed comment about IsStandard for P2SH scripts
Since #4365 (6259937388) P2SH scripts do not have to be IsStandard scripts.
2015-12-30 21:53:40 +01:00
21E14
a5a0831458 Double semicolon cleanup. 2015-12-30 12:23:07 -05:00
Chris Moore
2409865e14 Reduce inefficiency of GetAccountAddress()
Don't scan the wallet to see if the current key has been used if we're going to make a new key anyway.
Stop scanning the wallet as soon as we see that the current key has been used.
Don't call isValid() twice on the current key.
2015-12-28 16:56:53 -08:00
Luke Dashjr
5e109225ae Combine common error strings for different options so translations can be shared and reused 2015-12-26 08:04:03 +00:00
fanquake
5fdf32de7e Replace some instances of formatWithUnit with formatHtmlWithUnit
Strings in a HTML context should be using formatHtmlWithUnit.
2015-12-26 11:49:19 +08:00
Jonas Schnelli
be9a9a3d22
Merge pull request #7214
fa2f4bc qt5: Use the fixed font the system recommends (MarcoFalke)
2015-12-23 10:13:00 +01:00
Jonas Schnelli
a1c185be54
Merge pull request #7218
fa5769e [qt] Fix misleading translation (MarcoFalke)
fa8c8d7 torcontrol debug: Change to a blanket message that covers both cases (MarcoFalke)
2015-12-22 14:05:39 +01:00
Luke Dashjr
917b1d03cf Set copyright holders displayed in notices separately from the package name
This helps avoid accidental removal of upstream copyright names
2015-12-22 12:29:18 +00:00
Wladimir J. van der Laan
595f93977c
Merge pull request #7213
37d271d Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY. (mb300sd)
2015-12-22 11:37:11 +01:00
Wladimir J. van der Laan
c24337964f
Merge pull request #7062
901b01d Remove GetMinRelayFee (Suhas Daftuar)
27fae34 Use fee deltas for determining mempool acceptance (Suhas Daftuar)
9ef2a25 Update replace-by-fee logic to use fee deltas (Suhas Daftuar)
eb30666 Fix mempool limiting for PrioritiseTransaction (Suhas Daftuar)
2015-12-21 17:14:13 +01:00
MarcoFalke
fa33d9740c [walletdb] Add missing LOCK() in Recover() for dummyWallet 2015-12-19 14:26:46 +01:00
Luke Dashjr
1a6c67c8f5 Parameterise 2009 in translatable copyright strings 2015-12-18 12:36:10 +00:00
MarcoFalke
fa5769e95a [qt] Fix misleading translation 2015-12-16 15:44:46 +01:00
MarcoFalke
fa8c8d7fa6 torcontrol debug: Change to a blanket message that covers both cases 2015-12-16 12:57:06 +01:00
Suhas Daftuar
5246180f16 Mark blocks with too many sigops as failed 2015-12-15 15:40:50 -05:00
ptschip
39a525c21f Do not download transactions during inital sync 2015-12-15 07:41:44 -08:00
Elias Rohrer
e18378e53f Removed offline testnet DNSSeed 'alexykot.me'. 2015-12-15 14:53:15 +01:00
mb300sd
37d271d7cc Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY. 2015-12-15 02:01:45 -05:00
MarcoFalke
fa2f4bc4eb qt5: Use the fixed font the system recommends 2015-12-14 21:39:18 +01:00
James O'Beirne
4745636126 Add RPC documentation for getblockheader[chainwork]. 2015-12-14 10:40:15 -08:00
Wladimir J. van der Laan
7a5040155e
Merge pull request #7125
5400ef6 Replace trickle nodes with per-node/message Poisson delays (Pieter Wuille)
2015-12-14 13:42:02 +01:00
Wladimir J. van der Laan
64360f1304 Make max tip age an option instead of chainparam
After discussion in #7164 I think this is better.

Max tip age was introduced in #5987 to make it possible to run
testnet-in-a-box. But associating this behavior with the testnet chain
is wrong conceptually, as it is not needed in normal usage.
Should aim to make testnet test the software as-is.

Replace it with a (debug) option `-maxtipage`, which can be
specified only in the specific case.
2015-12-14 13:29:28 +01:00
Wladimir J. van der Laan
dc511dcfd9
Merge pull request #7200
d812daf fix logic for error log (accraze)
c611acc wallet: check if tx scriptPubKey is unspendable (accraze)
b6915b8 checks for null data transaction before debug.log (accraze)
2015-12-14 13:08:35 +01:00
Luke Dashjr
d5f46832de Unify package name to as few places as possible without major changes 2015-12-14 02:11:10 +00:00
Matt Corallo
daf6466330 Add "NODE_BLOOM" to guiutil so that peers don't get UNKNOWN[4] 2015-12-13 16:21:48 -08:00
MarcoFalke
fa24439ff3 Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
accraze
d812daf967 fix logic for error log 2015-12-12 10:45:53 -08:00
accraze
c611acc38a wallet: check if tx scriptPubKey is unspendable 2015-12-12 10:33:37 -08:00
accraze
b6915b8239 checks for null data transaction before debug.log
CWalletTx::GetAmounts could not find output address for null data transactions, thus issuing an error in debug.log. This change checks to see if the transaction is OP_RETURN before issuing error.

resolves #6142
2015-12-11 18:07:11 -08:00
Pieter Wuille
5400ef6bcb Replace trickle nodes with per-node/message Poisson delays
We used to have a trickle node, a node which was chosen in each iteration of
the send loop that was privileged and allowed to send out queued up non-time
critical messages. Since the removal of the fixed sleeps in the network code,
this resulted in fast and attackable treatment of such broadcasts.

This pull request changes the 3 remaining trickle use cases by random delays:
* Local address broadcast (while also removing the the wiping of the seen filter)
* Address relay
* Inv relay (for transactions; blocks are always relayed immediately)

The code is based on older commits by Patrick Strateman.
2015-12-11 22:20:38 +01:00
Wladimir J. van der Laan
9ee02cf564
Merge pull request #7156
6e76587 rpc: remove cs_main lock from `createrawtransaction` (Wladimir J. van der Laan)
2015-12-11 14:55:38 +01:00
Wladimir J. van der Laan
9bbe71b641 net: Add and document network messages in protocol.h
- Avoids string typos (by making the compiler check)
- Makes it easier to grep for handling/generation of a certain message type
- Refer directly to documentation by following the symbol in IDE
- Move list of valid message types to protocol.cpp:
    protocol.cpp is a more appropriate place for this, and having
    the array there makes it easier to keep things consistent.
2015-12-10 12:14:06 +01:00
Wladimir J. van der Laan
5dc63ed1ca
Merge pull request #7179
2041190 test: Add basic test for `reject` code (Wladimir J. van der Laan)
9fc6ed6 net: Fix sent reject messages for blocks and transactions (Wladimir J. van der Laan)
2015-12-10 11:58:02 +01:00
Wladimir J. van der Laan
00b4b8d1c4
Merge pull request #7154
a3c3ddb [Qt] add InMempool() info to transaction details (Jonas Schnelli)
2015-12-09 10:48:27 +01:00
MarcoFalke
fafd09375e [wallet] Adjust pruning test 2015-12-09 09:34:48 +01:00
Wladimir J. van der Laan
0800092fc2
Merge pull request #4906
fc0f52d Added a test for the pruning of extraneous inputs after ApproximateBestSet (Murch)
af9510e Moved set reduction to the end of ApproximateBestSubset to reduce performance impact (Murch)
5c03483 Coinselection prunes extraneous inputs from ApproximateBestSubset (AlSzacrel)
2015-12-08 10:23:01 +01:00
Jorge Timón
cf82d05dd4 Build: Consensus: Make libbitcoinconsensus_la_SOURCES fully dynamic and dependend on both crypto and consensus packages
Some extra bytes in libconsensus to get all the crypto (except for signing, which is in the common module) below the libconsensus future independent repo (that has libsecp256k1 as a subtree).
hmac_sha256.o seems to be the only thing libbitcoinconsensus doesn't depend on from crypto, some more bytes for the final libconsensus: I'm not personally worried.
2015-12-08 06:31:04 +01:00
Jorge Timón
4feadec98e Build: Libconsensus: Move libconsensus-ready files to the consensus package 2015-12-08 06:31:01 +01:00
Jorge Timón
a3d5eec546 Build: Consensus: Move consensus files from common to its own module/package 2015-12-08 06:30:14 +01:00
Murch
fc0f52d780 Added a test for the pruning of extraneous inputs after ApproximateBestSet 2015-12-07 20:08:37 +01:00
Murch
af9510e037 Moved set reduction to the end of ApproximateBestSubset to reduce performance impact 2015-12-07 17:36:47 +01:00
Wladimir J. van der Laan
e3bc5e0e92 net: Account for sendheaders verack messages
Looks like these were forgotten in #6589.
2015-12-07 15:17:53 +01:00
Wladimir J. van der Laan
9fc6ed6003 net: Fix sent reject messages for blocks and transactions
Ever since we #5913 have been sending invalid reject messages
for transactions and blocks.
2015-12-07 14:53:20 +01:00
Wladimir J. van der Laan
dc0305d15a
Merge pull request #6589
ca188c6 log bytes recv/sent per command (Jonas Schnelli)
2015-12-07 13:54:22 +01:00
Jonas Schnelli
ca188c629e
log bytes recv/sent per command 2015-12-07 13:32:59 +01:00
AlSzacrel
5c03483e26 Coinselection prunes extraneous inputs from ApproximateBestSubset
A further pass over the available inputs has been added to ApproximateBestSubset after a candidate set has been found. It will prune any extraneous inputs in the selected subset, in order to decrease the number of input and the resulting change.
2015-12-06 23:26:45 +01:00
Matt Corallo
96918a2f09 Don't do mempool lookups for "mempool" command without a filter 2015-12-05 17:45:44 +08:00
Jonas Schnelli
7d0bf0bb46
include the chaintip *blockIndex in the SyncTransaction signal
- allows reducing of calls to main.cpp for getting the chaintip during transaction syncing
- potentially allows reducing of cs_main locks
2015-12-04 09:18:53 +01:00
Gregory Maxwell
6aadc75578 Disconnect on mempool requests from peers when over the upload limit.
Mempool requests use a fair amount of bandwidth when the mempool is large,
 disconnecting peers using them follows the same logic as disconnecting
 peers fetching historical blocks.
2015-12-03 20:13:10 +00:00
Wladimir J. van der Laan
54a550bef8
Merge pull request #7113
086ee67 Switch to a more efficient rolling Bloom filter (Pieter Wuille)
2015-12-03 13:36:07 +01:00
Wladimir J. van der Laan
8843676621
Merge pull request #7133
aa4b0c2 When not filtering blocks, getdata sends more in one test (Pieter Wuille)
d41e44c Actually only use filterInventoryKnown with MSG_TX inventory messages. (Gregory Maxwell)
b6a0da4 Only use filterInventoryKnown with MSG_TX inventory messages. (Patick Strateman)
6b84935 Rename setInventoryKnown filterInventoryKnown (Patick Strateman)
e206724 Remove mruset as it is no longer used. (Gregory Maxwell)
ec73ef3 Replace setInventoryKnown with a rolling bloom filter. (Gregory Maxwell)
2015-12-03 13:16:46 +01:00
Wladimir J. van der Laan
c12ff995f7
Now that 0.12 has been branched, master is 0.12.99
... in preparation for 0.13
2015-12-03 12:07:01 +01:00
Wladimir J. van der Laan
3cd836c1d8
Merge pull request #7158
fab8347 [qt] Use tr() instead of _() (MarcoFalke)
2015-12-03 10:52:49 +01:00
Suhas Daftuar
901b01d674 Remove GetMinRelayFee
One test in AcceptToMemoryPool was to compare a transaction's fee
agains the value returned by GetMinRelayFee. This value was zero for
all small transactions.  For larger transactions (between
DEFAULT_BLOCK_PRIORITY_SIZE and MAX_STANDARD_TX_SIZE), this function
was preventing low fee transactions from ever being accepted.

With this function removed, we will now allow transactions in that range
with fees (including modifications via PrioritiseTransaction) below
the minRelayTxFee, provided that they have sufficient priority.
2015-12-02 12:59:30 -05:00
Suhas Daftuar
27fae3484c Use fee deltas for determining mempool acceptance 2015-12-02 12:59:30 -05:00
Suhas Daftuar
9ef2a25603 Update replace-by-fee logic to use fee deltas 2015-12-02 12:59:30 -05:00
Suhas Daftuar
eb306664e7 Fix mempool limiting for PrioritiseTransaction
Redo the feerate index to be based on mining score, rather than fee.

Update mempool_packages.py to test prioritisetransaction's effect on
package scores.
2015-12-02 12:59:30 -05:00
MarcoFalke
fab83476ac [qt] Use tr() instead of _()
Also, `make translate`
2015-12-02 17:25:59 +01:00
MarcoFalke
fabd10a9c9 Fix typo in wallet.cpp 2015-12-02 15:21:18 +01:00
paveljanik
5e151a842c PartitionCheck: remove useless spaces 2015-12-02 15:18:23 +01:00
Jorge Timón
fad0088e75 TRIVIAL: Chainparams: Remove unused CBaseUnitTestParams 2015-12-02 15:18:23 +01:00
antonio-fr
74f7341fec Update miner.cpp: Fix typo in comment 2015-12-02 15:18:23 +01:00
MarcoFalke
e69bad19f8 [trivial] Fix typo in peertablemodel.cpp 2015-12-02 15:18:23 +01:00
paveljanik
8a03727d9c Fix various typos 2015-12-02 15:18:22 +01:00
Wladimir J. van der Laan
df2ced5c83
Merge pull request #7128
02354c9 Constrain rpcport default values to a single location in code (Luke Dashjr)
2015-12-02 14:38:43 +01:00
Wladimir J. van der Laan
93236c0455
qt: Final translation update before 0.12 fork
- Add new translations (finally, after a long time)
- update-translation script was not considering new translations - oops
  - fixed this, also remove (nearly) empty translations
- Update translation process, it was still describing the old repository
  structure
2015-12-02 14:28:35 +01:00
Wladimir J. van der Laan
83f06ca937
Merge pull request #6216
db6047d Take the training wheels off anti-fee-sniping (Peter Todd)
2015-12-02 13:56:57 +01:00
Wladimir J. van der Laan
6e76587360 rpc: remove cs_main lock from createrawtransaction
This is a pure utility function that doesn't use
main's data structures, so it does not require that lock.
2015-12-02 13:42:47 +01:00
Wladimir J. van der Laan
7c7a05d274
Merge pull request #7147
9827091 Squashed 'src/univalue/' changes from 5839ac3..2740c4f (MarcoFalke)
2015-12-02 13:26:54 +01:00
Wladimir J. van der Laan
0dd194c917
Merge pull request #7146
1812de9 Name union to prevent compiler warning (Pavel Janík)
2015-12-02 12:58:25 +01:00
Wladimir J. van der Laan
8e598dc4ea
Merge pull request #7118
b212f94 Describe maxmempool and mempoolminfee in the getmempoolinfo RPC help. (Pavel Janík)
2015-12-02 12:44:04 +01:00
MarcoFalke
fad4ea836d Merge commit '982709199f1b4e9e35211c419a81938f9f1dd4ed' into bitcoin 2015-12-02 12:28:48 +01:00
Wladimir J. van der Laan
1b0241fcec
Merge pull request #7144
8f0d79e test: Disable scheduler test manythreads (Wladimir J. van der Laan)
2015-12-02 10:18:20 +01:00
Pavel Janík
1812de9091 Name union to prevent compiler warning 2015-12-02 08:40:47 +01:00
Jonas Schnelli
a3c3ddbd7b
[Qt] add InMempool() info to transaction details 2015-12-02 08:38:31 +01:00
Pieter Wuille
dd5862c4cd Flush coins cache also after transaction processing 2015-12-01 15:52:09 -08:00
Matt Corallo
bde953e281 Uncache input txn in utxo cache if a tx is not accepted to mempool 2015-12-01 15:52:09 -08:00
Matt Corallo
97bf377bd1 Add CCoinsViewCache::HaveCoinsInCache to check if a tx is cached 2015-12-01 15:52:09 -08:00
Matt Corallo
677aa3d88c Discard txn cache entries that were loaded for removed mempool txn 2015-12-01 15:52:07 -08:00
Matt Corallo
b2e74bd292 Get the set of now-uncacheable-txn from CTxMemPool::TrimToSize 2015-12-01 15:50:39 -08:00
Matt Corallo
74d0f90262 Add method to remove a tx from CCoinsViewCache if it is unchanged 2015-12-01 15:50:39 -08:00
Luke Dashjr
45b8e278fb -bytespersigop option to additionally limit sigops in transactions we relay and mine 2015-12-01 20:57:08 +00:00
Alex Morcos
553cad94e2 Rewrite CreateNewBlock
Use the score index on the mempool to only add sorted txs in order.  Remove much of the validation while building the block, relying on mempool to be consistent and only contain txs that can be mined.
The mempool is assumed to be consistent as far as not containing txs which spend non-existent outputs or double spends, and scripts are valid.  Finality of txs is still checked (except not coinbase maturity, assumed in mempool).
Still TestBlockValidity in case mempool consistency breaks and return error state if an invalid block was created.
Unit tests are modified to realize that invalid blocks can now be constructed if the mempool breaks its consistency assumptions and also updated to have the right fees, since the cached value is now used for block construction.

Conflicts:
	src/miner.cpp
2015-12-01 12:09:37 -05:00
Alex Morcos
5f12263302 Expose FormatStateMessage 2015-12-01 10:10:25 -05:00
Alex Morcos
1f09287c66 Make accessing mempool parents and children public 2015-12-01 10:10:25 -05:00
Alex Morcos
7230187b1d Add TxPriority class and comparator 2015-12-01 10:10:25 -05:00
Alex Morcos
f3fe83673e Add a score index to the mempool.
The score index is meant to represent the order of priority for being included in a block for miners.  Initially this is set to the transactions modified (by any feeDelta) fee rate.  Index improvements and unit tests by sdaftuar.
2015-12-01 10:10:25 -05:00
Alex Morcos
c49d5bc9e6 Store the total sig op count of a tx.
Store sum of legacy and P2SH sig op counts.  This is calculated in AcceptToMemory pool and storing it saves redoing the expensive calculation in block template creation.
2015-12-01 10:10:25 -05:00
Wladimir J. van der Laan
8f0d79e3c8 test: Disable scheduler test manythreads
It causes occasional deadlocks, resulting in false negatives in Travis.

Disable the test for now.
Works around #6540.
2015-12-01 14:43:38 +01:00
Wladimir J. van der Laan
bc1f427570
qt: periodic translations update 2015-12-01 13:26:50 +01:00
Wladimir J. van der Laan
c0c08c7c68
Merge pull request #7141
aabc897 rpc: Don't translate warning messages (Wladimir J. van der Laan)
2015-12-01 13:21:16 +01:00
Wladimir J. van der Laan
a60538bc45
Merge pull request #7143
6da12df qt: use QMetaObject::invokeMethod for cross-thread signaling in clientmodel (Wladimir J. van der Laan)
2015-12-01 13:20:34 +01:00
Wladimir J. van der Laan
2ef5ffa59a
Merge pull request #6915
2d8860e Fix removeForReorg to use MedianTimePast (Suhas Daftuar)
b7fa4aa Don't call removeForReorg if DisconnectTip fails (Suhas Daftuar)
7e49f5f Track coinbase spends in CTxMemPoolEntry (Suhas Daftuar)
bb8ea1f removeForReorg calls once-per-disconnect-> once-per-reorg (Matt Corallo)
474b84a Make indentation in ActivateBestChainStep readable (Matt Corallo)
b0a064c Fix comment in removeForReorg (Matt Corallo)
9b060e5 Fix removal of time-locked transactions during reorg (Matt Corallo)
0c9959a Add failing test checking timelocked-txn removal during reorg (Matt Corallo)
2015-12-01 13:17:34 +01:00
Wladimir J. van der Laan
9afbd96919
Merge pull request #7022
50947ef Change default block priority size to 0 (Alex Morcos)
2015-12-01 12:39:34 +01:00
Wladimir J. van der Laan
6da12dff28 qt: use QMetaObject::invokeMethod for cross-thread signaling in clientmodel
It's surprising to me that Q_EMIT even worked for this.

But it doesn't build in Qt4, so switch back to
`QMetaObject::invokeMethod`. Fixes #7138.
2015-12-01 11:55:10 +01:00
Pavel Janík
b212f94dd9 Describe maxmempool and mempoolminfee in the getmempoolinfo RPC help. 2015-12-01 11:26:32 +01:00
Luke Dashjr
02354c93be Constrain rpcport default values to a single location in code 2015-12-01 10:18:18 +00:00
Wladimir J. van der Laan
8f761e87c3
Merge pull request #7136
fa19a58 HelpMessage: Don't hide -mintxfee behind showDebug (MarcoFalke)
faffc17 rpcwallet: Clarify what settxfee does (MarcoFalke)
9999cb0 Fix url in .travis.yml (MarcoFalke)
fa22a10 contrib: Del. gitian downloader config and update gitian README (MarcoFalke)
fad3035 [doc] Minor markdown fixes (MarcoFalke)
2015-12-01 10:23:05 +01:00
Wladimir J. van der Laan
327291af02
Merge pull request #6914
114b581 Prevector type (Pieter Wuille)
2015-12-01 10:22:14 +01:00
Wladimir J. van der Laan
aabc897801 rpc: Don't translate warning messages
But keep translating them in the GUI.
This - necessarily - requires duplication of a few messages.
Alternative take on #7134, that keeps the translations from being wiped.

Also document GetWarnings() input argument.

Fixes #5895.
2015-12-01 10:07:22 +01:00
Wladimir J. van der Laan
9490bd71bd
Merge pull request #7096
ff723da [Qt] improve minimum absolute fee option - Only display the minimum absolute fee control if CoinControl is enabled (Jonas Schnelli)
31b508a [Qt] make use of the nMinimumTotalFee (absolute) in coincontrols fee calculation (Jonas Schnelli)
80462dd [Qt] use ASYMP_UTF8 (≈) whenever we show a fee that is not absolute (Jonas Schnelli)
ecc7c82 Move fPayAtLeastCustomFee function to CC (Pieter Wuille)
2015-12-01 09:59:03 +01:00
Wladimir J. van der Laan
30c2d8c635
Merge pull request #7105
9ac63d6 Keep track of explicit wallet conflicts instead of using mempool (Pieter Wuille)
2015-12-01 09:22:08 +01:00
Wladimir J. van der Laan
1b5118bfa0
Merge pull request #7079
ebb25f4 Limit setAskFor and retire requested entries only when a getdata returns. (Gregory Maxwell)
5029698 prevent peer flooding request queue for an inv (kazcw)
2015-12-01 09:02:33 +01:00