Commit Graph

8845 Commits

Author SHA1 Message Date
TheLazieR Yip
b901fdb60d Fix Misbehaving counting during Masternode Sync. 2015-10-02 14:32:24 +07:00
Luke Dashjr
fd55571f06 wallet: Expose GUI labels in RPC 2015-10-02 00:21:38 +00:00
Luke Dashjr
5f9260f458 Bugfix: If genproclimit is omitted to RPC setgenerate, don't change it; also show correct default in getmininginfo 2015-10-01 23:16:42 +00:00
Luke Dashjr
420a82f1ae Bugfix: Describe dblogsize option correctly (it refers to the wallet database, not memory pool) 2015-10-01 23:16:42 +00:00
Luke Dashjr
caa3d42f06 Bugfix: RPC: blockchain: Display correct defaults in help for verifychain method 2015-10-01 23:16:42 +00:00
Peter Todd
da894ab5da Accept any sequence of PUSHDATAs in OP_RETURN outputs
Previously only one PUSHDATA was allowed, needlessly limiting
applications such as matching OP_RETURN contents with bloom filters that
operate on a per-PUSHDATA level. Now any combination that passes
IsPushOnly() is allowed, so long as the total size of the scriptPubKey
is less than 42 bytes. (unchanged modulo non-minimal PUSHDATA encodings)

Also, this fixes the odd bug where previously the PUSHDATA could be
replaced by any single opcode, even sigops consuming opcodes such as
CHECKMULTISIG. (20 sigops!)
2015-10-01 18:28:13 +02:00
Peter Todd
5d8709c3b7 Add IsPushOnly(const_iterator pc)
Allows IsPushOnly() to be applied to just part of the script for
OP_RETURN outputs.
2015-10-01 18:28:11 +02:00
Peter Todd
6a07eb676a Make TX_SCRIPTHASH clear vSolutionsRet first
Previously unlike other transaction types the TX_SCRIPTHASH would not
clear vSolutionsRet, which means that unlike other transaction types if
it was called twice in a row you would get the result of the previous
invocation as well.
2015-10-01 18:27:22 +02:00
Wladimir J. van der Laan
f297042cae
Merge pull request #6637
95acf3c remove $(@F) and subdirs from univalue make (Jonas Schnelli)
9623e93 [Univalue] add univalue over subtree (Jonas Schnelli)
2f9f082 Squashed 'src/univalue/' content from commit 87d9045 (Jonas Schnelli)
0917306 remove univalue, prepare for subtree (Jonas Schnelli)
2015-10-01 16:36:15 +02:00
Jonas Schnelli
95acf3cc6d remove $(@F) and subdirs from univalue make 2015-10-01 14:28:44 +02:00
Wladimir J. van der Laan
4899a04c24
Merge pull request #5987
e761d7a Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) (Luke Dashjr)
2015-10-01 14:11:56 +02:00
Jeff Garzik
cf9bb11f97
Merge pull request #6588 2015-10-01 05:58:51 -04:00
Wladimir J. van der Laan
12a7712abd
Merge pull request #5924
835c122 Clean up change computation in CreateTransaction. (Daniel Kraft)
2015-10-01 11:20:08 +02:00
Jonas Schnelli
9623e93473 [Univalue] add univalue over subtree
similar to secp256k1 include and compile univalue over a subtree
2015-10-01 10:49:57 +02:00
Jonas Schnelli
6e16a41313 Merge commit '2f9f082b5ef3c495c70598ef23383effef675f9a' as 'src/univalue' 2015-10-01 10:37:19 +02:00
Jonas Schnelli
0917306fdf remove univalue, prepare for subtree 2015-10-01 10:36:50 +02:00
Arne Brutschy
58981d4f7d Changed logging to make -logtimestamps to work also for -printtoconsole 2015-09-30 17:57:28 +02:00
Gavin Andresen
7072c544b5
Support very-fast-running benchmarks
Avoid calling gettimeofday every time through the benchmarking loop, by keeping
track of how long each loop takes and doubling the number of iterations done
between time checks when they take less than 1/16'th of the total elapsed time.
2015-09-30 09:24:42 -04:00
Gavin Andresen
535ed9223d
Simple benchmarking framework
Benchmarking framework, loosely based on google's micro-benchmarking
library (https://github.com/google/benchmark)

Wny not use the Google Benchmark framework? Because adding Even More Dependencies
isn't worth it. If we get a dozen or three benchmarks and need nanosecond-accurate
timings of threaded code then switching to the full-blown Google Benchmark library
should be considered.

The benchmark framework is hard-coded to run each benchmark for one wall-clock second,
and then spits out .csv-format timing information to stdout. It is left as an
exercise for later (or maybe never) to add command-line arguments to specify which
benchmark(s) to run, how long to run them for, how to format results, etc etc etc.
Again, see the Google Benchmark framework for where that might end up.

See src/bench/MilliSleep.cpp for a sanity-test benchmark that just benchmarks
'sleep 100 milliseconds.'

To compile and run benchmarks:
  cd src; make bench

Sample output:

Benchmark,count,min,max,average
Sleep100ms,10,0.101854,0.105059,0.103881
2015-09-30 09:24:42 -04:00
Wladimir J. van der Laan
4f44530bc3
Merge pull request #6680
d76a8ac use CBlockIndex* insted of uint256 for UpdatedBlockTip signal (Jonas Schnelli)
2015-09-30 11:08:30 +02:00
UdjinM6
f4afaec0b2 add missing maps cleaning in CMasternodeMan::Clear() 2015-09-30 04:24:29 +03:00
Wladimir J. van der Laan
f6ce59cd3c
Merge pull request #6713
43edd51 SanitizeString: Allow hypen char (MarcoFalke)
2015-09-30 00:23:26 +02:00
Luke Dashjr
e761d7a94f Bugfix: Allow mining on top of old tip blocks for testnet (fixes testnet-in-a-box use case) 2015-09-29 19:46:34 +00:00
UdjinM6
2f8c944168 fix #629 2015-09-29 17:50:09 +03:00
Wladimir J. van der Laan
cb4d6d0569
Merge pull request #6730
a5b78c2 build: Remove dependency of bitcoin-cli on secp256k1 (Wladimir J. van der Laan)
2015-09-29 14:17:21 +02:00
Wladimir J. van der Laan
a91eea6e3e
qt: periodic translations update 2015-09-29 13:36:33 +02:00
Wladimir J. van der Laan
2b0567b002
Merge pull request #6728
9fea833 timedata: Prevent warning overkill (Wladimir J. van der Laan)
2015-09-29 08:44:15 +02:00
crowning-
115bb174ca Edit masternode.conf from within the wallet (Menu adjusted) 2015-09-28 22:08:07 +02:00
crowning-
eb29c71981 Edit masternode.conf from within the wallet 2015-09-28 21:58:59 +02:00
Holger Schinzel
27a4f5e6b2 bumping to v56 for next dev iteration 2015-09-28 18:16:48 +02:00
Evan Duffield
6509adf671 Revert "More liberal block creation"
This reverts commit bda45f1b26.
2015-09-28 07:54:24 -07:00
Wladimir J. van der Laan
ec908d5f7a http: Force-exit event loop after predefined time
This makes sure that the event loop eventually terminates, even if an
event (like an open timeout, or a hanging connection) happens to be
holding it up.
2015-09-28 15:06:20 +02:00
Wladimir J. van der Laan
de9de2de36 http: Wait for worker threads to exit
Add a WaitExit() call to http's WorkQueue to make it delete the work
queue only when all worker threads stopped.

This fixes a problem that was reproducable by pressing Ctrl-C during
AppInit2:
```
/usr/include/boost/thread/pthread/condition_variable_fwd.hpp:81: boost::condition_variable::~condition_variable(): Assertion `!ret' failed.
/usr/include/boost/thread/pthread/mutex.hpp:108: boost::mutex::~mutex(): Assertion `!posix::pthread_mutex_destroy(&m)' failed.
```

I was assuming that `threadGroup->join_all();` would always have been
called when entering the Shutdown(). However this is not the case in
bitcoind's AppInit2-non-zero-exit case "was left out intentionally
here".
2015-09-28 15:06:20 +02:00
Wladimir J. van der Laan
5e0c221356 Make HTTP server shutdown more graceful
Shutting down the HTTP server currently breaks off all current requests.
This can create a race condition with RPC `stop` command, where the calling
process never receives confirmation.

This change removes the listening sockets on shutdown so that no new
requests can come in, but no longer breaks off requests in progress.

Meant to fix #6717.
2015-09-28 15:06:20 +02:00
Evan Duffield
ac3a0123b7 Fixed IX confirmation bug for gettransaction
IX confirmations now show up correctly via the RPC interface immediately after IX confirms they are double-spend proof:

gettransaction 64c04e06ac058e572cefb5d98728dba21401cb8826f9688cbaf4270adfc6afb2

{
    "amount" : 0.00000000,
    "fee" : -0.01000000,
    "confirmations" : 5,
    "bcconfirmations" : 0,
    "txid" : "64c04e06ac058e572cefb5d98728dba21401cb8826f9688cbaf4270adfc6afb2",
    "walletconflicts" : [
}

... a moment later ...

gettransaction 64c04e06ac058e572cefb5d98728dba21401cb8826f9688cbaf4270adfc6afb2

{
    "amount" : 0.00000000,
    "fee" : -0.01000000,
    "confirmations" : 6,
    "bcconfirmations" : 1,
    "blockhash" : "00000000000f850e60431a5a88fba1cd8d3868477056f65493664e2d39c1837c",
    "blockindex" : 2,
    "blocktime" : 1443290068,
    "txid" : "64c04e06ac058e572cefb5d98728dba21401cb8826f9688cbaf4270adfc6afb2",
    "walletconflicts" : [
    ],
}
2015-09-28 13:19:03 +02:00
UdjinM6
f173a8634f fix LP inter-mixing by not initiating new queues by them
Closes: #623
2015-09-28 13:16:16 +02:00
UdjinM6
e754c84f2e huge update for Chinese and Japanese(include it in the list now)
Closes: #625
2015-09-28 12:52:23 +02:00
Wladimir J. van der Laan
a5b78c2fa8 build: Remove dependency of bitcoin-cli on secp256k1
bitcoin-cli (in contrast to bitcoin-tx, which does signing ops)
shouldn't need secp256k1, and indeed it doesn't.
2015-09-28 10:36:33 +02:00
evan82
82c2f06851 Merge pull request #625 from UdjinM6/translations20150928
huge update for Chinese and Japanese(include it in the list now)
2015-09-27 22:40:06 -07:00
UdjinM6
e98fc3a2e5 huge update for Chinese and Japanese(include it in the list now) 2015-09-28 06:16:23 +03:00
Wladimir J. van der Laan
9fea833a12 timedata: Prevent warning overkill
The "please check your computer's data and time" message when the clock
deviates from the network currently generates an overkill of messages:

    orion@lethe:~/bitcoin$ src/bitcoind
    Warning: Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.

In the log:

    2015-09-27 16:24:13 *** Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.
    2015-09-27 16:24:13 Warning: Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.

Remove one level of 'Warning:' and reduce to one log message.
2015-09-27 16:40:16 +02:00
Evan Duffield
71272d4b48 Fixed IX confirmation bug for gettransaction
IX confirmations now show up correctly via the RPC interface immediately after IX confirms they are double-spend proof:

gettransaction 64c04e06ac058e572cefb5d98728dba21401cb8826f9688cbaf4270adfc6afb2

{
    "amount" : 0.00000000,
    "fee" : -0.01000000,
    "confirmations" : 5,
    "bcconfirmations" : 0,
    "txid" : "64c04e06ac058e572cefb5d98728dba21401cb8826f9688cbaf4270adfc6afb2",
    "walletconflicts" : [
}

... a moment later ...

gettransaction 64c04e06ac058e572cefb5d98728dba21401cb8826f9688cbaf4270adfc6afb2

{
    "amount" : 0.00000000,
    "fee" : -0.01000000,
    "confirmations" : 6,
    "bcconfirmations" : 1,
    "blockhash" : "00000000000f850e60431a5a88fba1cd8d3868477056f65493664e2d39c1837c",
    "blockindex" : 2,
    "blocktime" : 1443290068,
    "txid" : "64c04e06ac058e572cefb5d98728dba21401cb8826f9688cbaf4270adfc6afb2",
    "walletconflicts" : [
    ],
}
2015-09-26 10:55:46 -07:00
Evan Duffield
bda45f1b26 More liberal block creation 2015-09-26 09:58:08 -07:00
Wladimir J. van der Laan
48efbdbe98
Merge pull request #5264
af3208b Resolve issue 3166. These changes decode valid SIGHASH types on signatures in assembly (asm) representations of scriptSig scripts. This squashed commit incorporates substantial helpful feedback from jtimon, laanwj, and sipa. (mruddy)
2015-09-25 19:19:07 +02:00
Evan Duffield
473328518c v55 2015-09-24 18:27:39 -07:00
evan82
87766f5db5 Merge pull request #623 from UdjinM6/fixlpintermixing
fix LP inter-mixing by not initiating new queues by them
2015-09-24 16:29:03 -07:00
UdjinM6
de478cb632 fix LP inter-mixing by not initiating new queues by them 2015-09-25 02:16:49 +03:00
UdjinM6
3d91fe326c add mnbudgetvoteraw
Closes: #621
2015-09-24 23:46:19 +02:00
EthanHeilman
1534d9a83c Creates unittests for addrman, makes addrman testable.
Adds several unittests for addrman to verify it works as expected.
Makes small modifications to addrman to allow deterministic and targeted tests.
2015-09-24 15:20:48 -04:00
Wladimir J. van der Laan
34dc03d8e0
Merge pull request #6664
51ff777 [trivial] Fix rpc message "help generate" (MarcoFalke)
4c3cab1 [trivial] init cleanup (MarcoFalke)
2015-09-24 18:21:18 +02:00
Wladimir J. van der Laan
82d2aef7b3
Merge pull request #6715
60de0d5 Fix mempool package tracking edge case (Suhas Daftuar)
598b25d Add test showing bug in mempool packages (Suhas Daftuar)
2015-09-24 12:24:41 +02:00
Suhas Daftuar
60de0d5826 Fix mempool package tracking edge case
CalculateMemPoolAncestors was always looping over a transaction's inputs
to find in-mempool parents.  When adding a new transaction, this is the
correct behavior, but when removing a transaction, we want to use the
ancestor set that would be calculated by walking mapLinks (which should
in general be the same set, except during a reorg when the mempool is
in an inconsistent state, and the mapLinks-based calculation would be the
correct one).
2015-09-23 15:30:41 -04:00
Wladimir J. van der Laan
5b77244c60
Merge pull request #6550
3b33ec8 Avoid duplicate CheckBlock checks (Pieter Wuille)
391dff1 Do not store Merkle branches in the wallet. (Pieter Wuille)
2015-09-23 19:37:51 +02:00
Wladimir J. van der Laan
e04b2fa9ba
Merge pull request #6653
4dee609 Rename rpcconsole.ui => debugwindow.ui (MarcoFalke)
0d0a2d6 [Qt] Raise debug window when requested (MarcoFalke)
2015-09-23 17:45:10 +02:00
Wladimir J. van der Laan
4dbd43ed0a
Merge pull request #6645
77c6072 Enable wallet key imports without rescan in pruned mode. (Gregory Maxwell)
2015-09-23 17:02:04 +02:00
Wladimir J. van der Laan
4939eabb75
Merge pull request #6688
131c23d Fix locking in GetTransaction. (Alex Morcos)
2015-09-23 16:53:40 +02:00
Wladimir J. van der Laan
999c8be81a
Merge pull request #6148
ae6f957 Enable block relay when pruning (Suhas Daftuar)
0da6ae2 Do not inv old or missing blocks when pruning (Suhas Daftuar)
2015-09-23 14:04:08 +02:00
MarcoFalke
43edd515e5 SanitizeString: Allow hypen char 2015-09-23 12:06:00 +02:00
Wladimir J. van der Laan
6264e5b378
Merge pull request #6646
6ecaec3 [Trivial] [logging] Rm extraneous cleansubver in serveral debug messages. (Gregory Maxwell)
2015-09-23 12:05:05 +02:00
MarcoFalke
4dee609e10 Rename rpcconsole.ui => debugwindow.ui 2015-09-23 10:27:39 +02:00
MarcoFalke
0d0a2d6bf9 [Qt] Raise debug window when requested
* Raise the debug window when hidden behind other windows
* Switch to the debug window when on another virtual desktop
* Show the debug window when minimized

This change is a conceptual copy of 5ffaaba and 382e9e2
2015-09-23 10:27:39 +02:00
UdjinM6
730c29fa47 add mnbudgetvoteraw 2015-09-23 03:15:23 +03:00
Pieter Wuille
3b33ec85ed Avoid duplicate CheckBlock checks 2015-09-22 18:51:08 +02:00
Pieter Wuille
391dff16fe Do not store Merkle branches in the wallet.
Assume that when a wallet transaction has a valid block hash and transaction position
in it, the transaction is actually there. We're already trusting wallet data in a
much more fundamental way anyway.

To prevent backward compatibility issues, a new record is used for storing the
block locator in the wallet. Old wallets will see a wallet file synchronized up
to the genesis block, and rescan automatically.
2015-09-22 18:51:07 +02:00
Holger Schinzel
3787421146 merging 0.12.0.x into 0.12.1.x 2015-09-22 16:46:03 +02:00
evan82
e4e1fc9bcb Merge pull request #612 from crowning-/UI_Enhancements
UI: theme-dependent icons/images Step 2-5
2015-09-22 07:14:50 -07:00
evan82
acb41462a5 Merge pull request #563 from UdjinM6/v0.12.1.x_bip69
V0.12.1.x Implement bip69
2015-09-22 07:14:23 -07:00
evan82
ddf71c0764 Merge pull request #561 from UdjinM6/v0.12.1.x_pre_enabled
V0.12.1.x pre-enabled status from masternodes
2015-09-22 07:14:10 -07:00
Wladimir J. van der Laan
e59d2a80f9
Merge pull request #6315
7aac6db [QT] dump banlist to disk in case of ban/unban over QT (Jonas Schnelli)
7f90ea7 [QA] adabt QT_NO_KEYWORDS for QT ban implementation (Jonas Schnelli)
07f70b2 [QA] fix netbase tests because of new CSubNet::ToString() output (Jonas Schnelli)
4ed0510 [Qt] call DumpBanlist() when baning unbaning nodes (Philip Kaufmann)
be89292 [Qt] reenabling hotkeys for ban context menu, use different words (Jonas Schnelli)
b1189cf [Qt] adapt QT ban option to banlist.dat changes (Jonas Schnelli)
65abe91 [Qt] add sorting for bantable (Philip Kaufmann)
51654de [Qt] bantable polish (Philip Kaufmann)
cdd72cd [Qt] simplify ban list signal handling (Philip Kaufmann)
43c1f5b [Qt] remove unused timer-code from banlistmodel.cpp (Jonas Schnelli)
e2b8028 net: Fix CIDR notation in ToString() (Wladimir J. van der Laan)
9e521c1 [Qt] polish ban table (Philip Kaufmann)
607809f net: use CIDR notation in CSubNet::ToString() (Jonas Schnelli)
53caec6 [Qt] bantable overhaul (Jonas Schnelli)
f0bcbc4 [Qt] bantable fix timestamp 64bit issue (Jonas Schnelli)
6135309 [Qt] banlist, UI optimizing and better signal handling (Jonas Schnelli)
770ca79 [Qt] add context menu with unban option to ban table (Jonas Schnelli)
5f42132 [Qt] add ui signal for banlist changes (Jonas Schnelli)
ad204df [Qt] add banlist table below peers table (Jonas Schnelli)
50f0908 [Qt] add ban functions to peers window (Jonas Schnelli)
2015-09-22 13:39:38 +02:00
Wladimir J. van der Laan
a3babc826d
Merge pull request #6647
1c1b1b3 [uacomment] Sanitize per BIP-0014 (MarcoFalke)
2015-09-22 11:36:50 +02:00
Wladimir J. van der Laan
d3b0d8c0e6
Merge pull request #6694
24cb7c7 [QT] fix thin space word wrap line brake issue (Jonas Schnelli)
2015-09-22 10:48:06 +02:00
Diego Viola
99ee4a656b Fix spelling of Qt 2015-09-22 05:00:10 -03:00
Wladimir J. van der Laan
10fc4fb368
Merge pull request #6668
9b1cdd7 [trivial] Remove obsolete pixmaps (MarcoFalke)
d1acf93 [qt] [trivial] share/qt/make_spinner.py => src/qt/res/movies/makespinner.sh (MarcoFalke)
2015-09-21 18:05:54 +02:00
Wladimir J. van der Laan
5e21388c48
Merge pull request #6695
ddf98d1 Make RPC tests cope with server-side timeout between requests (Wladimir J. van der Laan)
2190ea6 rpc: Split option -rpctimeout into -rpcservertimeout and -rpcclienttimeout (Wladimir J. van der Laan)
8b2d6ed http: Disable libevent debug logging, if not explicitly enabled (Wladimir J. van der Laan)
5ce43da init: Ignore SIGPIPE (Wladimir J. van der Laan)
2015-09-21 17:16:40 +02:00
Wladimir J. van der Laan
2190ea6c4e rpc: Split option -rpctimeout into -rpcservertimeout and -rpcclienttimeout
The two timeouts for the server and client, are essentially different:

- In the case of the server it should be a lower value to avoid clients
clogging up connection slots

- In the case of the client it should be a high value to accomedate slow
  responses from the server, for example for slow queries or when the
  lock is contended

Split the options into `-rpcservertimeout` and `-rpcclienttimeout` with
respective defaults of 30 and 900.
2015-09-21 17:15:36 +02:00
Wladimir J. van der Laan
8b2d6edaa9 http: Disable libevent debug logging, if not explicitly enabled
Add a option "-debug=libevent" to enable libevent debugging for troubleshooting.
Libevent logging is redirected to our own log.
2015-09-21 13:24:34 +02:00
Jonas Schnelli
7aac6db6eb [QT] dump banlist to disk in case of ban/unban over QT 2015-09-20 10:42:35 +02:00
Suhas Daftuar
5add7a74a6 Track transaction packages in CTxMemPoolEntry
Associate with each CTxMemPoolEntry all the size/fees of descendant
mempool transactions.  Sort mempool by max(feerate of entry, feerate
of descendants).  Update statistics on-the-fly as transactions enter
or leave the mempool.

Also add ancestor and descendant limiting, so that transactions can
be rejected if the number or size of unconfirmed ancestors exceeds
a target, or if adding a transaction would cause some other mempool
entry to have too many (or too large) a set of unconfirmed in-
mempool descendants.
2015-09-19 13:25:48 -04:00
Ashley Holman
34628a1807 TxMemPool: Change mapTx to a boost::multi_index_container
Indexes on:
- Tx Hash
- Fee Rate (fee-per-kb)
2015-09-19 13:22:40 -04:00
Wladimir J. van der Laan
5ce43da03d init: Ignore SIGPIPE
Ignore SIGPIPE on all non-win32 OSes, otherwise an unexpectedly disconnecting
RPC client will terminate the application. This problem was introduced
with the libhttp-based RPC server.

Fixes #6660.
2015-09-18 15:38:52 +02:00
Jonas Schnelli
24cb7c7bbb [QT] fix thin space word wrap line brake issue
The thin space QT html hack results in cut-off chars/nums after a line break.

Avoid word wrap line breaks by using a smaller font and a line break before each alternative value)
2015-09-18 13:52:36 +02:00
Alex Morcos
131c23d027 Fix locking in GetTransaction.
GetTransaction needs to lock cs_main until ReadBlockFromDisk completes, the data inside CBlockIndex's can change since pruning.  This lock was held by all calls to GetTransaction except rest_tx.
2015-09-17 20:26:28 -04:00
crowning-
032076df66 UI: min-width adjustment for toolbar buttons 2015-09-17 15:52:31 +02:00
crowning-
94a6f12d14 UI: theme-dependent icons/images (Win installer fix) 2015-09-17 15:21:04 +02:00
crowning-
8599ced191 UI: theme-dependent icons/images (Win installer fix) 2015-09-17 14:47:39 +02:00
crowning-
8392b728d0 UI: toolbar behaviour changed 2015-09-16 23:13:20 +02:00
crowning-
61b2f8febb UI: about image beautified 2015-09-16 20:37:17 +02:00
crowning-
8df2edca24 UI: theme-dependent icons/images Step 5 (About message) 2015-09-16 20:20:41 +02:00
crowning-
b5efb1e065 Merge remote-tracking branch 'upstream/v0.12.1.x' into Crownium 2015-09-16 20:20:33 +02:00
crowning-
bb49ce8244 Merge remote-tracking branch 'upstream/v0.12.1.x' into UI_Enhancements 2015-09-16 20:15:11 +02:00
crowning-
0b435daecc UI: theme-dependent icons/images Step 5 (About message) 2015-09-16 20:09:12 +02:00
Jonas Schnelli
d76a8acb9b use CBlockIndex* insted of uint256 for UpdatedBlockTip signal
- removes mapBlockIndex find operation
- theoretically allows removing the cs_main lock during zqm notification while introducing a new file position lock
2015-09-16 16:51:21 +02:00
Jonas Schnelli
7f90ea78cb [QA] adabt QT_NO_KEYWORDS for QT ban implementation 2015-09-16 16:50:20 +02:00
Jonas Schnelli
07f70b2dde [QA] fix netbase tests because of new CSubNet::ToString() output 2015-09-16 16:50:20 +02:00
Philip Kaufmann
4ed05101f3 [Qt] call DumpBanlist() when baning unbaning nodes
- this matches RPC call behaviour
2015-09-16 16:50:20 +02:00
Jonas Schnelli
be8929265f [Qt] reenabling hotkeys for ban context menu, use different words
- 1 (h)our
- 1 (d)ay
- 1 (w)eek
- 1 (y)ear
2015-09-16 16:50:20 +02:00
Jonas Schnelli
b1189cfa10 [Qt] adapt QT ban option to banlist.dat changes 2015-09-16 16:50:20 +02:00
Philip Kaufmann
65abe91ce4 [Qt] add sorting for bantable 2015-09-16 16:50:19 +02:00
Philip Kaufmann
51654deff2 [Qt] bantable polish
- add missing NULL pointer checks
- add better comments and reorder some code in rpcconsole.cpp
- remove unneeded leftovers in bantable.cpp
- update bantable column sizes to prevent cutting of banned until
2015-09-16 16:50:19 +02:00
Philip Kaufmann
cdd72cd5fb [Qt] simplify ban list signal handling
- remove banListChanged signal from client model
- directly call clientModel->getBanTableModel()->refresh() without the way
  over clientModel->updateBanlist()

- also fix clearing peer detail window, when selecting (clicking)
  peers in the ban list
2015-09-16 16:50:19 +02:00
Jonas Schnelli
43c1f5b8d7 [Qt] remove unused timer-code from banlistmodel.cpp 2015-09-16 16:50:19 +02:00
Wladimir J. van der Laan
e2b8028e4c net: Fix CIDR notation in ToString()
Only use CIDR notation if the netmask can be represented as such.
2015-09-16 16:50:19 +02:00
Philip Kaufmann
9e521c1735 [Qt] polish ban table 2015-09-16 16:50:19 +02:00
Jonas Schnelli
607809f037 net: use CIDR notation in CSubNet::ToString() 2015-09-16 16:50:19 +02:00
Jonas Schnelli
53caec66cc [Qt] bantable overhaul
- some code cleanups
- fix date formatting
- reduce header includes
2015-09-16 16:50:19 +02:00
Jonas Schnelli
f0bcbc4c8a [Qt] bantable fix timestamp 64bit issue 2015-09-16 16:50:19 +02:00
Jonas Schnelli
6135309816 [Qt] banlist, UI optimizing and better signal handling 2015-09-16 16:50:19 +02:00
Jonas Schnelli
770ca79aa0 [Qt] add context menu with unban option to ban table 2015-09-16 16:50:19 +02:00
Jonas Schnelli
5f42132950 [Qt] add ui signal for banlist changes 2015-09-16 16:50:19 +02:00
Jonas Schnelli
ad204df1a9 [Qt] add banlist table below peers table 2015-09-16 16:50:19 +02:00
Jonas Schnelli
50f090884c [Qt] add ban functions to peers window
add ban option for peer context menu (1h, 24h, 7d, 1y).
2015-09-16 16:50:19 +02:00
Jeff Garzik
ca5e2a1864
Merge pull request #6317 2015-09-16 09:40:53 -04:00
MarcoFalke
1c1b1b315f [uacomment] Sanitize per BIP-0014
* SanitizeString() can be requested to be more strict
* Throw error when SanitizeString() changes uacomments
* Fix tests
2015-09-16 15:23:29 +02:00
Jeff Garzik
e6a14b64d6 Add ZeroMQ support. Notify blocks and transactions via ZeroMQ
Continues Johnathan Corgan's work.
Publishing multipart messages

Bugfix: Add missing zmq header includes

Bugfix: Adjust build system to link ZeroMQ code for Qt binaries
2015-09-16 11:01:35 +01:00
João Barbosa
5624e055b3 Add UpdatedBlockTip signal to CMainSignals and CValidationInterface 2015-09-16 10:59:32 +01:00
crowning-
c2cd4224ee UI: new wallet theme "Crownium" 2015-09-16 06:04:26 +02:00
crowning-
1338b64d34 UI: theme-dependent icons/images Step 4 (splash + rpcconsole) 2015-09-16 05:29:57 +02:00
evan82
e29241b435 Merge pull request #615 from UdjinM6/dsmultisession
DS MultiSession cmd-line option
2015-09-15 16:06:47 -07:00
evan82
5e656df23a Merge pull request #608 from UdjinM6/translation_sk
huge update to sk translation (thanks xsedivy!)
2015-09-15 16:04:14 -07:00
evan82
b8739c0967 Merge pull request #610 from UdjinM6/ixfixes
IX fixes:
2015-09-15 16:02:45 -07:00
evan82
06e351d40f Merge pull request #607 from UdjinM6/matchrounds
DS: try to use only inputs with the same number of rounds starting from lowest number of rounds possible
2015-09-15 16:02:15 -07:00
UdjinM6
79e2c541a8 translations: vi to 100% 2015-09-16 00:28:13 +03:00
UdjinM6
841fc5fbae DS MultiSession cmd-line option (try to mix constantly, few times per block) 2015-09-15 20:52:45 +03:00
UdjinM6
6b35e97ebc Slight budgets refactor:
- cleaner blockchain-like rpc / moved logic to proposal class / cleaned help messages and redundant
- refactored proposals a bit (more straightforward constructor, IsValid)
(both parts inherit sanitization proposed/made by @crowning earlier)
2015-09-15 20:02:47 +03:00
Jeff Garzik
6f55cddf6b
Merge pull request #5665 2015-09-15 12:30:32 -04:00
evan82
f36e28ede0 Merge pull request #611 from crowning-/v0.12.1.x
Security: sanitize mnbudget parameters (part 2) DASH-5
2015-09-14 13:17:34 -07:00
MarcoFalke
d1acf938e6 [qt] [trivial] share/qt/make_spinner.py => src/qt/res/movies/makespinner.sh
* Merge make_spinner.py into makespinner.sh
* Also delete now unused imgs
* Actually use all 36 frames for the spinner animation
2015-09-13 17:57:12 +02:00
crowning-
0a036e0bf0 UI: theme-dependent icons/images (error fix) 2015-09-13 13:23:28 +02:00
crowning-
39ac400392 UI: theme-dependent icons/images Step 3 (CSS changes) 2015-09-13 04:46:02 +02:00
crowning-
b9bf948a65 UI: theme-dependent icons/images Step 2 (Gitian-build fix) 2015-09-13 00:59:51 +02:00
crowning-
dec129d54c UI: theme-dependent icons/images Step 2 (app icons relocated) 2015-09-13 00:42:07 +02:00
crowning-
8c33cf27b8 UI: theme-dependent icons/images Step 2 (permissions restored) 2015-09-12 23:45:52 +02:00
crowning-
82b25f55f7 UI: theme-dependent icons/images Step 2 2015-09-12 23:42:04 +02:00
MarcoFalke
51ff777357 [trivial] Fix rpc message "help generate" 2015-09-12 18:19:53 +02:00
UdjinM6
02dfe6b239 split usage of "masternode" command: "start" for local Hot and "start-<mode>" for remote"
Closed #605
2015-09-12 18:02:39 +02:00
crowning-
afa99c7f62 Security: sanitize mnbudget parameters (part 2) DASH-5 2015-09-12 17:17:03 +02:00
UdjinM6
f68a5d8102 remove depreciated dsee/dseep code
Closes #606
2015-09-12 16:35:37 +02:00
UdjinM6
d9ff3d77a3 remove extra "new line" from some error/log messages
Closes #609
2015-09-12 16:30:02 +02:00
MarcoFalke
4c3cab14b7 [trivial] init cleanup 2015-09-12 13:28:00 +02:00
UdjinM6
9710b50a43 change threadSafe (i.e. cs_main lock usage) for Dash rpc commands
Closes #604
2015-09-12 07:49:13 +02:00
UdjinM6
9d7fccf6a7 change threadSafe (i.e. cs_main lock usage) for Dash rpc commands
Closes #604
2015-09-12 07:45:47 +02:00
evan82
ee9018aee9 Merge pull request #600 from crowning-/UI_Enhancements
UI: theme-dependent icons/images Step 1
2015-09-11 14:45:33 -07:00
evan82
356c616b98 Merge pull request #598 from crowning-/v0.12.1.x
Security: sanitize mnbudget prepare|submit names and URLs
2015-09-11 14:45:21 -07:00
UdjinM6
ae14019e6d IX fixes:
- refactor initialization/fix initial values
- use global `fEnableInstantX`
- rpc output: `confirmations` (i.e. total) and `bcconfirmations` (blockchain only), fixes #593 also
- throw error in UI before submiting IX if it violates max amount
2015-09-11 21:26:15 +03:00
UdjinM6
0c3a0291ac huge update to sk translation (thanks xsedivy!)
fix qrc
2015-09-10 07:22:31 +03:00
UdjinM6
602d1b2944 DS: try to use only inputs with the same number of rounds starting from lowest number of rounds possible 2015-09-09 08:00:30 +03:00
Gregory Maxwell
6ecaec395c [Trivial] [logging] Rm extraneous cleansubver in serveral debug messages.
We log the cleanSubVer as part of connect.  It is not uniquely more informative
 than any of the other data we have about a peer, often less.  It's also often
 long now as well.  There is no need to output it as part of mempoolrej,
 AcceptToMemoryPool, or pong entries.  Leaving it out makes our log entries
 more uniform and consistent.
2015-09-08 23:11:10 +00:00
Wladimir J. van der Laan
0c27795140
Merge pull request #6579
afb0cca Add NODE_BLOOM service bit and bump protocol version (Matt Corallo)
2015-09-08 17:10:36 +02:00
Wladimir J. van der Laan
878ea69491
Merge pull request #6594
5ffaaba Disallow duplicate windows. (Casey Rodarmor)
2015-09-08 17:02:00 +02:00
Wladimir J. van der Laan
1d133d9573
Merge pull request #6640
eb3002b [TRIVIAL] Fix typo: exactmath -> exactmatch (paveljanik)
2015-09-08 16:43:26 +02:00
Wladimir J. van der Laan
6f6fb188b5
Merge pull request #6644
7a7e68d Prune the -prune help to reflect that the wallet is no longer disabled. (Gregory Maxwell)
2015-09-08 16:24:08 +02:00
evan82
818303dbbd Merge pull request #602 from UdjinM6/remainingoffby1
fix: GetRemainingPaymentCount was off by 1
2015-09-07 12:03:55 -07:00
Gregory Maxwell
7a7e68d1e2 Prune the -prune help to reflect that the wallet is no longer disabled.
The wallet hasn't been disabled since 3201035f22.
2015-09-07 18:49:12 +00:00
Daniel Kraft
9cdc3353c5 Simplify logic of REST request suffix parsing.
This patch changes the way the suffix (giving the requested data format) is
parsed for REST requests.  Before, the string was split at '.'
characters and it was assumed that the second part was the suffix.

Now, we look for the last dot and use that to determine the suffix.
This allows for strings that contain dots (not used now, though), and
seems, in general, to be clearer and more intuitive.
2015-09-07 20:38:03 +02:00
UdjinM6
792c5b822a fix: GetRemainingPaymentCount was off by 1 2015-09-07 20:39:34 +03:00
Gregory Maxwell
77c6072473 Enable wallet key imports without rescan in pruned mode.
Complete rescan is incompatible with pruning, but rescan is optional on
 our wallet key import RPCs.  Import on use is very useful in some common
 situations in conjunction with pruning, e.g. merchant payment tracking.

This reenables importprivkey/importaddress/importpubkey when rescan
 is not used.

In the future we should consider changing the rescan argument to allow depth
 or date to allow limited rescanning when compatible with the retained
 block depth.
2015-09-07 01:28:32 +00:00
Matt Corallo
afb0ccaf9c Add NODE_BLOOM service bit and bump protocol version
Lets nodes advertise that they offer bloom filter support explicitly.
The protocol version bump allows SPV nodes to assume that NODE_BLOOM is
set if NODE_NETWORK is set for pre-70011 nodes.

Also adds an option to turn bloom filter support off for nodes which
advertise a version number >= 70011. Nodes attempting to use bloom
filters on such protocol versions are banned, and a later upgade
should drop nodes of an older version which attempt to use bloom
filters.

Much code stolen from Peter Todd.

Implements BIP 111
2015-09-05 23:29:13 -07:00
crowning-
bf528715fc UI: theme-dependent icons/images Step 1 2015-09-05 22:54:11 +02:00
Casey Rodarmor
5ffaaba3a1 Disallow duplicate windows. 2015-09-04 15:25:42 -04:00
Holger Schinzel
2c539391cd version bump v54 2015-09-04 21:18:16 +02:00
paveljanik
eb3002bb71 [TRIVIAL] Fix typo: exactmath -> exactmatch
... but not yet in trivial tree
2015-09-04 19:22:48 +02:00
Holger Schinzel
4059322cff Merge branch 'master' into v0.12.1.x
Conflicts:
	configure.ac
	src/clientversion.h
2015-09-04 16:41:49 +02:00
Wladimir J. van der Laan
93ff1b9041 net: correctly initialize nMinPingUsecTime
`nMinPingUsecTime` was left uninitialized in CNode.
The correct initialization for a minimum-until-now is int64_t's max value, so initialize it to that.
Thanks @MarcoFalke for noticing.
2015-09-04 16:27:38 +02:00
Holger Schinzel
fd54976149 bump version 2015-09-04 15:33:53 +02:00
Wladimir J. van der Laan
bbc2b39860
Merge pull request #6633
a6eb4ba Report minimum ping time in getpeerinfo (Matt Corallo)
2015-09-04 15:32:03 +02:00
UdjinM6
7cede481a8 fix mnw limits 2015-09-04 15:22:17 +03:00
Wladimir J. van der Laan
9aa90994ee
Merge pull request #5677
d528025 Revert "rpc-tests: re-enable rpc-tests for Windows" (Wladimir J. van der Laan)
1e700c9 doc: update deps in build-unix.md after libevent (Wladimir J. van der Laan)
26c9b83 Move windows socket init to utility function (Wladimir J. van der Laan)
4be0b08 libevent: Windows reuseaddr workaround in depends (Cory Fields)
3a174cd Fix race condition between starting HTTP server thread and setting EventBase() (Wladimir J. van der Laan)
6d2bc22 Document options for new HTTP/RPC server in --help (Wladimir J. van der Laan)
be33f3f Implement RPCTimerHandler for Qt RPC console (Wladimir J. van der Laan)
57d85d9 doc: mention SSL support dropped for RPC in release notes (Wladimir J. van der Laan)
40b556d evhttpd implementation (Wladimir J. van der Laan)
ee2a42b tests: GET requests cannot have request body, use POST in rest.py (Wladimir J. van der Laan)
6e996d3 tests: fix qt payment test (Cory Fields)
3140ef9 build: build-system changes for libevent (Wladimir J. van der Laan)
a9af234 libevent: add depends (Cory Fields)
6a21dd5 Remove rpc_boostasiotocnetaddr test (Wladimir J. van der Laan)
8f9301c qa: Remove -rpckeepalive tests from httpbasics (Wladimir J. van der Laan)
51fcfc0 doc: remove documentation for rpcssl (Wladimir J. van der Laan)
2015-09-04 13:06:32 +02:00
Wladimir J. van der Laan
4b437b227c
Merge pull request #6631
e83df07 Update RPC generate help for numblocks to include required (Ian T)
2015-09-04 10:45:27 +02:00
Holger Schinzel
4a055497fe version bump 2015-09-04 10:39:14 +02:00
crowning-
5783d5b446 Sanitize mnbudget prepare|submit names and URLs 2015-09-04 05:44:02 +02:00
Matt Corallo
a6eb4ba38b Report minimum ping time in getpeerinfo 2015-09-03 13:06:13 -07:00
Wladimir J. van der Laan
195942d58e
Merge pull request #6630
86270c8 Replace boost::reverse_lock with our own. (Casey Rodarmor)
2015-09-03 21:46:08 +02:00
Casey Rodarmor
86270c8164 Replace boost::reverse_lock with our own. 2015-09-03 15:13:40 -04:00
Ian T
e83df075f9 Update RPC generate help for numblocks to include required
The `generate` RPC has no default `numblocks` and a numeric value is required.
2015-09-03 13:29:10 -04:00
Tom Harding
9524c4d35c In (strCommand == "tx"), return if AlreadyHave()
The main effect is to exit processing for recently-rejected hashes,
in case they are pushed to us without prior advertisement.  This
behavior was seen in the wild.

An additional effect is to do early checks for mempool or mapOrphan
existence.  No logging or nDoS tracking is needed for failures of
these checks.
2015-09-03 10:16:59 -07:00
Wladimir J. van der Laan
69dc5b51a0
Merge pull request #6374
027de94 Use network group instead of CNetAddr in final pass to select node to disconnect (Patrick Strateman)
000c18a Fix comment (Patrick Strateman)
fed3094 Acquire cs_vNodes before changing refrence counts (Patrick Strateman)
69ee1aa CNodeRef copy constructor and assignment operator (Patrick Strateman)
dc81dd0 Return false early if vEvictionCandidates is empty (Patrick Strateman)
17f3533 Better support for nodes with non-standard nMaxConnections (Patrick Strateman)
1317cd1 RAII wrapper for CNode* (Patrick Strateman)
df23937 Add comments to AttemptToEvictConnection (Patrick Strateman)
a8f6e45 Remove redundant whiteconnections option (Patrick Strateman)
b105ba3 Prefer to disconnect peers in favor of whitelisted peers (Patrick Strateman)
2c70153 AttemptToEvictConnection (Patrick Strateman)
4bac601 Record nMinPingUsecTime (Patrick Strateman)
ae037b7 Refactor: Move failure conditions to the top of AcceptConnection (Patrick Strateman)
1ef4817 Refactor: Bail early in AcceptConnection (Patrick Strateman)
541a1dd Refactor: AcceptConnection (Patrick Strateman)
2015-09-03 18:27:24 +02:00
Wladimir J. van der Laan
26c9b83677 Move windows socket init to utility function 2015-09-03 10:59:19 +02:00
Wladimir J. van der Laan
3a174cd400 Fix race condition between starting HTTP server thread and setting EventBase()
Split StartHTTPServer into InitHTTPServer and StartHTTPServer to give
clients a window to register their handlers without race conditions.

Thanks @ajweiss for figuring this out.
2015-09-03 10:59:19 +02:00
Wladimir J. van der Laan
6d2bc22146 Document options for new HTTP/RPC server in --help 2015-09-03 10:59:19 +02:00
Wladimir J. van der Laan
be33f3f50b Implement RPCTimerHandler for Qt RPC console
Implement RPCTimerHandler for Qt RPC console, so that `walletpassphrase`
works with GUI and `-server=0`.

Also simplify HTTPEvent-related code by using boost::function directly.
2015-09-03 10:59:19 +02:00
Wladimir J. van der Laan
40b556d374 evhttpd implementation
- *Replace usage of boost::asio with [libevent2](http://libevent.org/)*.
boost::asio is not part of C++11, so unlike other boost there is no
forwards-compatibility reason to stick with it. Together with #4738 (convert
json_spirit to UniValue), this rids Bitcoin Core of the worst offenders with
regard to compile-time slowness.

- *Replace spit-and-duct-tape http server with evhttp*. Front-end http handling
is handled by libevent, a work queue (with configurable depth and parallelism)
is used to handle application requests.

- *Wrap HTTP request in C++ class*; this makes the application code mostly
HTTP-server-neutral

- *Refactor RPC to move all http-specific code to a separate file*.
Theoreticaly this can allow building without HTTP server but with another RPC
backend, e.g. Qt's debug console (currently not implemented) or future RPC
mechanisms people may want to use.

- *HTTP dispatch mechanism*; services (e.g., RPC, REST) register which URL
paths they want to handle.

By using a proven, high-performance asynchronous networking library (also used
by Tor) and HTTP server, problems such as #5674, #5655, #344 should be avoided.

What works? bitcoind, bitcoin-cli, bitcoin-qt. Unit tests and RPC/REST tests
pass. The aim for now is everything but SSL support.

Configuration options:

- `-rpcthreads`: repurposed as "number of  work handler threads". Still
defaults to 4.

- `-rpcworkqueue`: maximum depth of work queue. When this is reached, new
requests will return a 500 Internal Error.

- `-rpctimeout`: inactivity time, in seconds, after which to disconnect a
client.

- `-debug=http`: low-level http activity logging
2015-09-03 10:59:18 +02:00
UdjinM6
8d1609f0a5 translations 20150902 2015-09-03 00:32:34 +03:00
Evan Duffield
386a39d00e fixed compile err 2015-09-02 09:53:53 -07:00
Cory Fields
6e996d39da tests: fix qt payment test
Now that boost no longer automatically initializes openssl, we have to
do it ourselves.
2015-09-02 18:38:41 +02:00
Wladimir J. van der Laan
3140ef9249 build: build-system changes for libevent 2015-09-02 18:38:41 +02:00
Wladimir J. van der Laan
6a21dd598c Remove rpc_boostasiotocnetaddr test
Dropping all use of boost::asio.
2015-09-02 18:38:41 +02:00
Evan Duffield
eebb03eb13 reduce memory usage 2015-09-02 05:20:06 -07:00
Evan Duffield
25894972c1 reduce memory usage 2015-09-02 05:13:32 -07:00
Evan Duffield
aaeda811db Revert "fix - ds can leak info by number of inputs"
This reverts commit f98fe6a208.
2015-09-02 05:06:22 -07:00
Evan Duffield
277ebbe83d v52 bump 2015-09-01 20:57:54 -07:00
evan82
7d8fb85c13 Merge pull request #564 from UdjinM6/v0.12.1.x_fix_ds_leak_inputs
V0.12.1.x DS can (potentially) leak info by number of inputs
2015-09-01 20:53:56 -07:00
evan82
b4d3de4e72 Merge pull request #573 from UdjinM6/v0.12.1.x_fix_sync
V0.12.1.x Fixes for sync:
2015-09-01 20:53:42 -07:00
evan82
982226a5b3 Merge pull request #584 from crowning-/patch-1
Added "Name" to 'mnbudget show' output for easier JSON-parsing
2015-09-01 20:53:28 -07:00
evan82
39c2e40b64 Merge pull request #589 from crowning-/v0.12.1.x
UI: button to toggle lock-state for all inputs in coin-control dialog
2015-09-01 20:53:09 -07:00
evan82
d0c1931c49 Merge pull request #590 from UdjinM6/fix_upnp_hotmn
Fix: local hot MN can't start if upnp is on
2015-09-01 20:52:51 -07:00
evan82
b3d0f8056e Merge pull request #594 from UdjinM6/fix_conflicted_dstx
Fix: dstx stuck sometimes
2015-09-01 20:52:23 -07:00
evan82
33f1d035cd Merge pull request #592 from UdjinM6/more_for_missing
Rpc changes for missing masternodes:
2015-09-01 20:52:11 -07:00
UdjinM6
be14946ba8 fix dstx: they were conflicted because of priority 2015-09-01 07:10:24 +03:00
Wladimir J. van der Laan
af9305a7e8
Merge pull request #6583
9f3e48e add support for miniupnpc api version 14 (Pavel Vasin)
2015-08-31 17:38:07 +02:00
crowning-
5a8b613a72 UI: button to toggle lock-state (reload CSS fix) 2015-08-31 08:26:20 +02:00
Patrick Strateman
027de94e1f
Use network group instead of CNetAddr in final pass to select node to disconnect 2015-08-30 22:09:14 -07:00
UdjinM6
dcf020a886 Rpc changes for missing masternodes:
- show MN status in `masternode list-conf`, display MISSING if MN was not found in mn list
- do not allow to run `start-missing` and `start-disabled` until mn list is synced
2015-08-31 07:20:38 +03:00
UdjinM6
ef9b90aa09 inv messages vectors should not be pushed directly 2015-08-31 07:05:10 +03:00
UdjinM6
ce6e5cf8b0 fix bug where hot mn can't start if upnp is on 2015-08-31 05:30:03 +03:00
crowning-
aeb9a7d5ea UI: button to toggle lock-state for all inputs in coin-control dialog 2015-08-30 23:40:04 +02:00
Holger Schinzel
2c14877c6e Merge branch 'master' into v0.12.1.x
Conflicts:
	configure.ac
	src/clientversion.h
2015-08-30 09:26:40 +02:00
Evan Duffield
eb5f8922b4 mnbudget nextblock 2015-08-29 17:07:09 -07:00
Evan Duffield
fd22143a1b v51 bump 2015-08-29 16:48:54 -07:00
Evan Duffield
47fc1e750e revert c5d6b reduced mnw bandwidth 2015-08-29 16:48:19 -07:00
Evan Duffield
6ae7d8392b finbudget old vote check removed 2015-08-29 16:46:34 -07:00
Evan Duffield
c407ae35dd enable cache files / remove old vote check 2015-08-29 16:45:42 -07:00
J Ross Nicoll
9bebf60698
Make sure LogPrint strings are line-terminated 2015-08-29 17:40:13 +01:00
Holger Schinzel
9db484871b bump version 2015-08-29 08:53:12 +02:00
Holger Schinzel
581a3deeea Update Makefile.qt.include
fix compile error
2015-08-29 08:15:41 +02:00
crowning-
69bd52a00c Added "Name" to mnbudget show output for easier JSON-parsing
Reference: https://github.com/dashpay/dash/issues/583
2015-08-29 08:01:12 +02:00
Evan Duffield
3d4fb9b5e6 version bump 2015-08-28 21:06:58 -07:00
Evan Duffield
61e67434cd restored mnb cleanup 2015-08-28 20:25:55 -07:00
evan82
f315fbf25f Merge pull request #567 from UdjinM6/v0.12.1.x_fix_idle_mn_freeze
V0.12.1.x (possible) fix for idle mn freeze
2015-08-28 20:05:44 -07:00
evan82
82606d6322 Merge pull request #562 from UdjinM6/v0.12.1.x_cleanup
V0.12.1.x cleanup
2015-08-28 20:04:48 -07:00
evan82
3729d93097 Merge pull request #575 from UdjinM6/v0.12.0.x_fix_mapSeenMasternodeBroadcast
V0.12.1.x fixes for mapSeenMasternodeBroadcast:
2015-08-28 19:52:14 -07:00
UdjinM6
68eab8cc3b Merge pull request #566 from UdjinM6/v0.12.x.x_translations
V0.12.x.x translations
2015-08-29 04:38:33 +03:00
UdjinM6
9fb62dadaa Merge pull request #569 from crowning-/v0.12.1.x
Window positions not reset
2015-08-29 04:38:20 +03:00
UdjinM6
ae1ceaa75c Merge pull request #579 from crowning-/UI_Enhancements
UI: Coding and CSS changes for sum of selected transactions
2015-08-29 04:37:21 +03:00
Evan Duffield
c5d6b8486b Drastically reduce bandwidth/cpu usage for syncing
- Only send 1 winner per block for the previous 4500 blocks (was 10 items per block for 6000 blocks)
- Send full sync for last 5 blocks and next 20 blocks
- Turn off mnb cleaning, there aren't that many broadcasts on the network and this could cause problems in some cases
- Fix budget submission collateral check
2015-08-28 14:42:23 -07:00
UdjinM6
00c9dbf700 change masternode status to display 1000 DASH address 2015-08-28 23:18:55 +03:00
UdjinM6
657bd1103e Few cleanups:
- compiling errors
- output
- CBitcoinAddress usage cleanup
- refresh qt project file
- fix typo in `masternode` debug category
2015-08-28 23:16:58 +03:00
Evan Duffield
5cc8c79c7c Reduce mnw logs / add mnw misbehave for specific conditions 2015-08-28 08:53:08 -07:00
crowning-
6129a0ec1e UI: Coding and CSS changes for sum of selected transactions 2015-08-27 12:49:55 +02:00
crowning-
0af61bdc1e Merge remote-tracking branch 'upstream/v0.12.1.x' into v0.12.1.x 2015-08-27 12:31:30 +02:00
UdjinM6
7fb2e38162 more mn start commands 2015-08-26 23:15:37 +03:00
Wladimir J. van der Laan
ea19c2bc3f
Merge pull request #6530
c33c11e Improve addrman Select() performance when buckets are nearly empty (Pieter Wuille)
2015-08-26 17:58:40 +02:00
UdjinM6
611640d4e1 fixes for mapSeenMasternodeBroadcast:
- active masternode ping should update mapSeenMasternodeBroadcast's lastPing too
- dseg should fill mapSeenMasternodeBroadcast to be able to serve it later on getdata with MSG_MASTERNODE_ANNOUNCE inv
2015-08-26 03:18:01 +03:00
Pieter Wuille
c33c11ebac Improve addrman Select() performance when buckets are nearly empty 2015-08-26 01:59:09 +02:00
Patrick Strateman
000c18aace Fix comment 2015-08-25 16:31:13 -07:00
Patrick Strateman
fed30940ef Acquire cs_vNodes before changing refrence counts 2015-08-25 16:30:02 -07:00
Patrick Strateman
69ee1aab00 CNodeRef copy constructor and assignment operator 2015-08-25 15:33:29 -07:00
UdjinM6
85ec112557 version bump 2015-08-25 23:28:23 +03:00
UdjinM6
1724fe579b more mem fixes:
- clean mapMasternodeBlocks and mapSeenSyncMNB too
- clean mapSeenMasternodeBroadcast by lastPing sigTime nad fix clean threshold
2015-08-25 23:26:47 +03:00
Cory Fields
a19338723d net: Set SO_REUSEADDR for Windows too
When running the rpc tests in Wine, nodes often fail to listen on localhost
due to a stale socket from a previous run. This aligns the behavior with other
platforms.
2015-08-25 11:31:06 -04:00
UdjinM6
8dd638423c Fixes for sync:
- lower MASTERNODE_SYNC_THRESHOLD (4->2)
- higher wait MASTERNODE_SYNC_TIMEOUT*2  and fail  MASTERNODE_SYNC_TIMEOUT*5 timeouts for each step
- ask at most MASTERNODE_SYNC_THRESHOLD*3 nodes for sync data
- sync again 1 minute after last fail

So we will ask at most 6 nodes and stop updating lastTime...s when we had data from at least 2 of them but will fail if we had nothing in 25 sec since current step start.
In case of fail resync again faster.
2015-08-25 18:25:19 +03:00
UdjinM6
84b03d28e0 more mem fixes:
- clean mapMasternodeBlocks and mapSeenSyncMNB too
- clean mapSeenMasternodeBroadcast by lastPing sigTime nad fix clean threshold
2015-08-25 17:15:59 +03:00
Holger Schinzel
5645e7d94d Merge branch 'master' into v0.12.1.x
Conflicts:
	configure.ac
	src/clientversion.h
2015-08-25 07:23:36 +02:00
Evan Duffield
402d821529 Fix memory leak / reduce mnw memory
- mapSeenMasternodePing & mapSeenMasternodeBroadcast were not getting cleaned, so the pinging of 3000 masternode was accumulating over time. This patch has the clean clean the lists every few minutes and removes anything older than 20 minutes for pings and 2.5 hours for broadcasts.
- v48
2015-08-24 19:27:10 -07:00
Evan Duffield
099e412dba Disable mnw messages for litemode 2015-08-24 15:01:02 -07:00
crowning-
26c471df6b Window positions not reset 2015-08-24 23:12:31 +02:00
Wladimir J. van der Laan
da9beb288d
Merge pull request #6576
e938122 Stop parsing JSON after first finished construct. (Daniel Kraft)
2015-08-24 13:44:05 +02:00
Evan Duffield
8af620bd80 Fix remote-activation hanging issue
- Clients that were waiting for remote activation were repeatidly checking their wallet and external address. This will make them skip that check if the wallet is empty, then be remotely activated by mnb.
2015-08-23 18:17:07 -07:00
Evan Duffield
a0f9355946 Fix remote-activation hanging issue
- Clients that were waiting for remote activation were repeatidly checking their wallet and external address. This will make them skip that check if the wallet is empty, then be remotely activated by mnb.
2015-08-23 18:16:23 -07:00
Pavel Vasin
9f3e48e521 add support for miniupnpc api version 14
The value of new arg ttl is set to 2 as it's recommended default.
2015-08-23 23:53:49 +03:00
UdjinM6
c61f209c33 (possible) fix for idle mn freeze 2015-08-23 17:29:30 +03:00
Patrick Strateman
dc81dd02a1 Return false early if vEvictionCandidates is empty 2015-08-22 15:38:24 -07:00
Patrick Strateman
17f3533c84 Better support for nodes with non-standard nMaxConnections 2015-08-22 15:38:24 -07:00
Patrick Strateman
1317cd1928 RAII wrapper for CNode* 2015-08-22 15:38:24 -07:00
Patrick Strateman
df23937422 Add comments to AttemptToEvictConnection 2015-08-22 15:38:24 -07:00
Patrick Strateman
a8f6e45249 Remove redundant whiteconnections option 2015-08-22 15:38:24 -07:00
Patrick Strateman
b105ba398b Prefer to disconnect peers in favor of whitelisted peers 2015-08-22 15:38:24 -07:00
Patrick Strateman
2c701537c8 AttemptToEvictConnection 2015-08-22 15:38:24 -07:00
Patrick Strateman
4bac601610 Record nMinPingUsecTime 2015-08-22 15:38:23 -07:00
Patrick Strateman
ae037b707c Refactor: Move failure conditions to the top of AcceptConnection 2015-08-22 15:38:23 -07:00
Patrick Strateman
1ef4817614 Refactor: Bail early in AcceptConnection 2015-08-22 15:38:23 -07:00
Patrick Strateman
541a1dd9e6 Refactor: AcceptConnection 2015-08-22 15:38:23 -07:00
UdjinM6
0ab72a9dde update translations 2015-08-22 22:01:40 +03:00
UdjinM6
f98fe6a208 fix - ds can leak info by number of inputs 2015-08-22 19:12:45 +03:00
Holger Schinzel
b839ff2748 version bump v0.12.1.0 2015-08-22 18:11:47 +02:00
UdjinM6
9055883eab implement bip69 2015-08-22 19:09:43 +03:00
UdjinM6
30ab984920 treat MN as pre-enabled while there is no legit ping that differ from initial one (from mnb) 2015-08-22 19:00:12 +03:00
UdjinM6
9a74543d83 fix ds bugs 2015-08-22 06:36:21 +03:00
Wladimir J. van der Laan
49793fbb09
Merge pull request #6541
e0862c0 Reformat validateaddress help, add missing iswatchonly description. (Pavel Janík)
2015-08-21 12:35:20 +02:00
Evan Duffield
76d9eddfa4 Cleanup nCount for qualifying nodes
- thx Udjin!
2015-08-20 09:27:34 -07:00
Wladimir J. van der Laan
e3f13ddc54
Merge pull request #6242
17221bf chainparams: don't use std namespace (Cory Fields)
f0deec5 chainparams: move CCheckpointData into chainparams.h (Cory Fields)
2015-08-20 18:26:26 +02:00
Evan Duffield
c64f76001b nCount >= nTenthNetwork should be nCountTenth 2015-08-20 08:52:33 -07:00
Evan Duffield
6b31970f13 Fix payment cycle when network is in the process of updating 2015-08-20 08:37:05 -07:00
Wladimir J. van der Laan
e128464bc5
Merge pull request #6545
8be371d Do not store more than 200 timedata samples. (Pavel Janík)
2015-08-20 17:13:52 +02:00
Wladimir J. van der Laan
70ec975ea6
Merge pull request #6556
1123cdb add unit test for CNetAddr::GetGroup. (Alex Morcos)
bba3db1 Fix masking of irrelevant bits in address groups. (Alex Morcos)
2015-08-20 16:45:46 +02:00
Wladimir J. van der Laan
5e6e0898a1
Merge pull request #6571
1d1073c consensus: cache the openssl EC_GROUP to avoid a race condition for each CECKey instantiation (Cory Fields)
2015-08-20 16:33:50 +02:00
Daniel Kraft
e938122b7b Stop parsing JSON after first finished construct.
Fix https://github.com/bitcoin/bitcoin/issues/6558.  In particular, stop
parsing JSON after the first object or array is finished.  Check that no
other garbage follows, and fail the parser if it does.
2015-08-20 12:48:43 +02:00
Alex Morcos
1123cdbf4d add unit test for CNetAddr::GetGroup. 2015-08-19 17:06:42 -04:00
Cory Fields
1d1073c2d3 consensus: cache the openssl EC_GROUP to avoid a race condition for each CECKey instantiation 2015-08-19 14:25:01 -04:00
Wladimir J. van der Laan
ef30389e2a
Merge pull request #6544
c5c1edf Fix spelling mistake in -> if. (Mark Friedenbach)
e846b2a Correct a possibly intentional pun that is nevertheless hard to read: "two times of nLockTime." What is meant is that there are two kinds, or categories of nLockTime. (Mark Friedenbach)
2015-08-19 17:37:52 +02:00
Wladimir J. van der Laan
80cddbbba9
Merge pull request #6539
9f68ed6 typofixes (found by misspell_fixer) (Veres Lajos)
2015-08-19 17:28:00 +02:00
Wladimir J. van der Laan
a6f2affde8
Merge pull request #6565
fb08d92 Make sure we re-acquire lock if a task throws (Casey Rodarmor)
2015-08-19 16:27:40 +02:00
Wladimir J. van der Laan
e08a7d9d40
Merge pull request #6561
7bd57bb Add limitedmap test (Casey Rodarmor)
8b06894 Disallow unlimited limited maps (Casey Rodarmor)
fd2d862 Make limited map actually respect max size (Casey Rodarmor)
2015-08-19 15:45:14 +02:00
Evan Duffield
ba1bc44737 version bump - v46 2015-08-18 18:06:13 -07:00
UdjinM6
f119afb43b it’s ok to be banned for dseg, you’ll just find another peers 2015-08-18 23:46:47 +03:00
pstratem
ade97928f7 replace absolute sleep with conditional wait 2015-08-18 21:07:30 +03:00
evan82
418a9eeb37 Merge pull request #547 from UdjinM6/v0.12.0.x_fix_sync_progressbar_text
V0.12.0.x fix sync progressbar text
2015-08-18 08:16:33 -07:00
Casey Rodarmor
fb08d92312 Make sure we re-acquire lock if a task throws 2015-08-18 10:40:13 -04:00
Daniel Kraft
2016576998 Fix crash when mining with empty keypool.
Since the introduction of the ScriptForMining callback, the mining
functions (setgenerate and generate) crash with an assertion failure
(due to a NULL pointer script returned) if the keypool is empty.  Fix
this by giving a proper error.
2015-08-18 09:07:33 +02:00
UdjinM6
0ecf85fea9 fix sync progressbar text 2015-08-18 06:01:17 +03:00
Evan Duffield
a7ec2deed9 Fix Masternode Payments rank calculation 2015-08-17 15:42:51 -07:00
Casey Rodarmor
7bd57bb1d7 Add limitedmap test 2015-08-17 12:15:32 -04:00
Casey Rodarmor
8b06894194 Disallow unlimited limited maps 2015-08-17 12:15:32 -04:00
Casey Rodarmor
fd2d862fbc Make limited map actually respect max size 2015-08-17 12:15:32 -04:00
Wladimir J. van der Laan
39ddaeb8fe
Merge pull request #6551
243b80d Handle leveldb::DestroyDB() errors on wipe failure (Adam Weiss)
2015-08-17 16:52:57 +02:00
Evan Duffield
b0e718a6ca v0.12.0.45 2015-08-15 19:46:54 -07:00
UdjinM6
cd819e5a40 chinese tw 2015-08-16 05:39:39 +03:00
UdjinM6
a723c2148e fix DS bug - endless collateral creation until one of them confirms 2015-08-16 03:29:16 +03:00
UdjinM6
628d281209 refactor names and select logic for ONLY_ coins enum members 2015-08-16 03:26:20 +03:00
evan82
d1aed33d7a Merge pull request #534 from UdjinM6/v0.12.0.x_fix_rpc_masternode_status
fixes for masternrode rpc
2015-08-15 13:32:26 -07:00
evan82
6bd1d7d16e Merge pull request #532 from UdjinM6/v0.12.0.x_fix_GetSporkValue
fix GetSporkValue
2015-08-15 13:30:21 -07:00
evan82
0493f52c27 Merge pull request #531 from UdjinM6/v0.12.0.x_timeouts
Timeouts fixes
2015-08-15 13:29:39 -07:00
Jeff Garzik
6feeec1ec5
Merge pull request #6013 2015-08-15 16:09:06 -04:00
evan82
c0beef9061 Merge pull request #530 from UdjinM6/v0.12.0.x_translations20150815
V0.12.0.x translations20150815
2015-08-15 13:08:09 -07:00
UdjinM6
9d3dc79b91 add masternodeSync.GetSyncStatus() / refactor mn sync status UI updates 2015-08-15 18:53:55 +03:00
UdjinM6
121124dc1e translations 2015-08-15 17:32:23 +03:00
UdjinM6
4ddb2c65c3 fixes for masternrode rpc 2015-08-15 17:22:56 +03:00
UdjinM6
1289327743 fix GetSporkValue 2015-08-15 16:34:38 +03:00
UdjinM6
d1e189fb57 add mn list and mnw timeouts / use gettime / lower base timeout 2015-08-15 16:30:30 +03:00
Evan Duffield
24b7028b2e lock wallet for select 2015-08-14 19:06:00 -07:00
Evan Duffield
0d5ca11c9a check mnw peer version 2015-08-14 16:22:16 -07:00
Evan Duffield
6040fc6f83 fix GetSporkValue return 2015-08-14 12:57:41 -07:00
Alex Morcos
bba3db1a40 Fix masking of irrelevant bits in address groups. 2015-08-14 14:25:19 -05:00
Evan Duffield
cfe1bdd1e2 fix spork int error 2015-08-14 11:43:28 -07:00
Evan Duffield
61223ed147 Fix dseg message 2015-08-14 09:15:50 -07:00
evan82
ea8d508561 Merge pull request #519 from UdjinM6/v0.12.0.x_hide_oosw_on_bc
V0.12.0.x hide "out of sync" warning on blockchain sync
2015-08-14 07:39:18 -07:00
Wladimir J. van der Laan
ddd8d80c63
Merge pull request #6415
d042854 SQUASH "Implement watchonly support in fundrawtransaction" (Matt Corallo)
428a898 SQUASH "Add have-pubkey distinction to ISMINE flags" (Matt Corallo)
6bdb474 Implement watchonly support in fundrawtransaction (Matt Corallo)
f5813bd Add logic to track pubkeys as watch-only, not just scripts (Matt Corallo)
d3354c5 Add have-pubkey distinction to ISMINE flags (Matt Corallo)
5c17059 Update importaddress help to push its use to script-only (Matt Corallo)
a1d7df3 Add importpubkey method to import a watch-only pubkey (Matt Corallo)
907a425 Add p2sh option to importaddress to import redeemScripts (Matt Corallo)
983d2d9 Split up importaddress into helper functions (Matt Corallo)
cfc3dd3 Also remove pay-2-pubkey from watch when adding a priv key (Matt Corallo)
2015-08-14 16:28:37 +02:00
evan82
c062c4b650 Merge pull request #525 from UdjinM6/v0.12.0.x_dsee_dseep
V0.12.0.x more fixes - "dsee updated entry"
2015-08-14 07:17:44 -07:00
Evan Duffield
54ee699112 nBlockEnd/nAmount budget item check
- Make sure nBlockEnd > nBlockStart+Cycle
- Make sure nAmount is more than 1DASH
2015-08-14 06:35:36 -07:00
UdjinM6
001b8cf709 more fixes - dsee updated entry 2015-08-14 08:11:57 +03:00
Pavel Janík
70180b2e57 Implement REST mempool API, add test and documentation. 2015-08-14 07:01:03 +02:00
evan82
c936bfe7f3 Merge pull request #524 from UdjinM6/v0.12.0.x_dsee_dseep
V0.12.0.x more fixes - misbehave / rpc
2015-08-13 21:02:23 -07:00
Evan Duffield
5b9c1d2b3c Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-08-13 20:57:12 -07:00
Evan Duffield
dc70f73221 add budget timeout 2015-08-13 20:56:58 -07:00
UdjinM6
61239dbb36 more fixes - misbehave / rpc 2015-08-14 06:18:08 +03:00
UdjinM6
f0790ed32c fix dseep flood / log output 2015-08-14 04:14:08 +03:00
Evan Duffield
4727d92d1f protocol bump 2015-08-13 16:35:38 -07:00
Evan Duffield
d8b18c31f7 Remove blockEnd budget check 2015-08-13 14:02:37 -07:00
Evan Duffield
60c4ab8292 change proposal requirements 2015-08-13 13:01:10 -07:00
evan82
7bef018c22 Revert "V0.12.0.x stop mining before completely synced, more info in rpc" 2015-08-13 09:38:23 -07:00
evan82
ada6a090c9 Merge pull request #520 from UdjinM6/v0.12.0.x_stop_mining_before_synced
V0.12.0.x stop mining before completely synced, more info in rpc
2015-08-13 08:25:48 -07:00
Evan Duffield
88830d4ac1 version bump 2015-08-13 08:09:28 -07:00
Evan Duffield
7bdb18a602 fixed parameters for IsBlockChainSynced 2015-08-13 08:04:25 -07:00
Evan Duffield
792bf4fb85 Allow sync of older mnfinalbudgets 2015-08-13 07:53:55 -07:00
UdjinM6
ac488d70b9 stop mining before completely synced, more info in rpc 2015-08-13 16:50:17 +03:00
UdjinM6
65ec00d6ec hide "out of sync" warning on blockchain sync 2015-08-13 16:03:39 +03:00
evan82
e52809a031 Merge pull request #511 from UdjinM6/v0.12.0.x_cleanup
V0.12.0.x cleanup & translations
2015-08-12 19:38:40 -07:00
Adam Weiss
243b80d292 Handle leveldb::DestroyDB() errors on wipe failure
Add error checking to CLevelDBWrapper for errors from
leveldb::DestroyDB().  Without it, if unlink() or DeleteFileW() fail to
delete files, they will fail silent.  If they fail to delete any files,
CLevelDBWrapper will silently open and read the existing database.

Typically any permissions issues would be caught by leveldb as it churns
through many files as part of its compaction process, but it is
conceivable that this could cause problems on Windows with anti-virus
and indexing software.
2015-08-12 19:40:09 -04:00
Evan Duffield
6ff903f27b Wait for DS confirmation 2015-08-12 15:54:21 -07:00
UdjinM6
8d7776c743 translations 2015-08-12 23:56:11 +03:00
UdjinM6
840a50a089 cleanups:
- typos
- remove `mnodeman.` inside `CMasternodeMan::`
2015-08-12 23:54:01 +03:00
UdjinM6
4cec1d9dad fix CPU exhausting by dsee flood 2015-08-12 17:29:43 +03:00
UdjinM6
cbecd3bfa8 fix 2015-08-12 15:35:58 +03:00
evan82
5e9fbabd90 Merge pull request #514 from UdjinM6/v0.12.0.x_fix_overview_upd
V0.12.0.x fix overview page updates on options change and on DS toggle
2015-08-11 19:05:49 -07:00
evan82
dd4bd3825f Merge pull request #515 from UdjinM6/v0.12.0.x_dsee_dseep
v0.12.0.x fix dsee / log output
2015-08-11 19:01:32 -07:00
UdjinM6
d636e74b59 fix dsee / log output 2015-08-12 04:58:23 +03:00
Evan Duffield
8c805923f9 Only relay dsee updates that are new 2015-08-11 18:39:22 -07:00
UdjinM6
4084950c0d fix overview page updates on options change and on DS toggle 2015-08-12 02:22:31 +03:00
Evan Duffield
1a2f30c628 fixed compile err 2015-08-11 15:54:27 -07:00
Evan Duffield
f5c1c979ef v43 2015-08-11 15:43:51 -07:00
Evan Duffield
5e1a6afe7f Send nLastDsq with MasternodeBroadcast 2015-08-11 15:43:19 -07:00
evan82
be801aadea Merge pull request #512 from crowning-/v0.12.0.x
V0.12.0.x fix bug with wallet-backups
2015-08-11 14:56:05 -07:00
Evan Duffield
c86e68c785 Move superblock check 2015-08-11 14:54:42 -07:00
crowning-
ee3feced9f V0.12.0.x fix bug with wallet-backups 2015-08-11 22:28:50 +02:00
Evan Duffield
37efa72605 v42 2015-08-11 12:23:21 -07:00
evan82
8320753d69 Merge pull request #510 from UdjinM6/v0.12.0.x_merge10again
V0.12.0.x merge10again
2015-08-11 12:22:33 -07:00
Evan Duffield
48eecea7e5 pull changes from bitcoin for FindMostWorkChain 2015-08-11 12:21:45 -07:00
UdjinM6
ed6f2b1439 Merge remote-tracking branch 'bitcoin/0.10' into v0.12.0.x_merge10again 2015-08-11 21:48:57 +03:00
UdjinM6
fd4cbf5eac fix fDarkSendMaster 2015-08-11 19:11:39 +03:00
Wladimir J. van der Laan
87f37e259d
Merge pull request #6519
7f1f8f5 Move mempool rejections to new debug category (Wladimir J. van der Laan)
66daed5 Add information to errors in ConnectBlock, CheckBlock (Wladimir J. van der Laan)
6cab808 Remove most logging from transaction validation (Wladimir J. van der Laan)
9003c7c Add function to convert CValidationState to a human-readable message (Wladimir J. van der Laan)
dc58258 Introduce REJECT_INTERNAL codes for local AcceptToMempool errors (Wladimir J. van der Laan)
fbf44e6 Add debug message to CValidationState for optional extra information (Wladimir J. van der Laan)
2015-08-11 17:36:50 +02:00
Wladimir J. van der Laan
7f1f8f5edf Move mempool rejections to new debug category
Move mempool rejections to debug category `mempoolrej`, to make it possible
to show them without enabling the entire category `mempool` which is
high volume.
2015-08-11 17:29:34 +02:00
Wladimir J. van der Laan
66daed5e1b Add information to errors in ConnectBlock, CheckBlock
Add detailed state information to the errors, as it is no longer being
logged downstream.

Also add the state information to mempool rejection debug message in
ProcessMessages.
2015-08-11 17:29:34 +02:00
Wladimir J. van der Laan
6cab808272 Remove most logging from transaction validation
Remove unnecessary direct logging in CheckTransaction,
AcceptToMemoryPool, CheckTxInputs, CScriptCheck::operator()

All status information should be returned in the CValidationState.
Relevant debug information is also added to the CValidationState using
the recently introduced debug message.

Do keep the "BUG! PLEASE REPORT THIS! ConnectInputs failed against MANDATORY but not STANDARD flags"
error as it is meant to appear as bug in the log.
2015-08-11 17:29:34 +02:00
Wladimir J. van der Laan
9003c7cdd8 Add function to convert CValidationState to a human-readable message
It is necessary to be able to concisely log a validation state.
Convert CValidationState to a human-readable message for logging.
2015-08-11 17:29:33 +02:00
Wladimir J. van der Laan
dc58258adf Introduce REJECT_INTERNAL codes for local AcceptToMempool errors
Add status codes specific to AcceptToMempool procession of transactions.
These can never happen due to block validation, and must never be sent
over the P2P network. Add assertions where appropriate.
2015-08-11 17:29:33 +02:00
Pavel Janík
8be371db34 Do not store more than 200 timedata samples. 2015-08-11 15:57:52 +02:00
evan82
738f009a10 Merge pull request #508 from UdjinM6/v0.12.0.x_sync_status
V0.12.0.x show masternode sync status in GUI
2015-08-11 05:55:07 -07:00
evan82
e52b845c88 Merge pull request #505 from UdjinM6/v0.12.0.x_ds_fixes
V0.12.0.x fixes for more then 1 ds action per block
2015-08-11 05:54:45 -07:00
UdjinM6
d79ac2bd60 define masternode sync treshold 2015-08-11 15:54:44 +03:00
UdjinM6
a01e56a67d show masternode sync status in GUI 2015-08-11 15:52:28 +03:00
UdjinM6
7f916e4702 manage DS connections to masternodes properly 2015-08-11 09:00:46 +03:00
UdjinM6
d9383e3ead fixes for more then 1 ds action per block 2015-08-11 08:09:56 +03:00
Evan Duffield
44e002f5d0 allow more than 1 action per block 2015-08-10 19:27:07 -07:00
evan82
a7fa7e28b0 Merge pull request #503 from UdjinM6/v0.12.0.x_ds_fixes
V0.12.0.x ds fixes
2015-08-10 18:56:51 -07:00
Evan Duffield
dcec36af85 allow users to anon all their coins each block 2015-08-10 18:56:14 -07:00
Mark Friedenbach
c5c1edfe60 Fix spelling mistake in -> if. 2015-08-10 18:09:59 -07:00
Mark Friedenbach
e846b2a1e9 Correct a possibly intentional pun that is nevertheless hard to read: "two times of nLockTime." What is meant is that there are two kinds, or categories of nLockTime. 2015-08-10 18:08:30 -07:00
UdjinM6
6b80448427 ds fixes 2015-08-11 02:06:17 +03:00
Evan Duffield
df33377ed0 increase chance of budget autocheck 2015-08-10 14:57:09 -07:00
Evan Duffield
595e30731a remove lock from active masternode 2015-08-10 14:48:58 -07:00
Evan Duffield
ea8a3f1aba checkpoint 2015-08-10 14:12:43 -07:00
Veres Lajos
9f68ed6b6d typofixes (found by misspell_fixer) 2015-08-10 22:06:27 +01:00
Evan Duffield
06fcb7333a prev block not found - changed to behaving of 0 2015-08-10 12:45:39 -07:00
Evan Duffield
c8b9237af1 Disable banning clients for specific fork violation 2015-08-10 12:00:39 -07:00
Pavel Janík
e0862c0933 Reformat validateaddress help, add missing iswatchonly description. 2015-08-10 20:10:56 +02:00
Tom Harding
212bcca920 Add optional locktime to createrawtransaction
A non-zero locktime also causes input sequences to be set to
non-max, activating the locktime.
2015-08-10 10:23:59 -07:00
Evan Duffield
7ba7eec5b5 Disable masternode and budget cache
- It seems these might cause clients to get stuck in rare cases, plus we sync all of this information from the network when the client loads up anyway. I think it's best to disable these features and see if the clients stop getting stuck on random reboots.
2015-08-10 09:53:45 -07:00
Wladimir J. van der Laan
6bb28058d3
Merge pull request #6346
627468d Add support for data-based outputs (OP_RETURN) to bitcoin-tx. (Pavel Janík)
d707853 Add OP_RETURN support in createrawtransaction RPC call, add tests. (Pavel Janík)
2015-08-10 17:53:07 +02:00
Wladimir J. van der Laan
6c1c7fdfd6
Merge pull request #6534
9493803 Revert "Revert "Assert on probable deadlocks if the second lock isnt try_lock"" (Cory Fields)
605433f locks: don't lock cs_wallet before making rpc calls (Cory Fields)
2015-08-10 17:38:25 +02:00
evan82
527c47c277 Merge pull request #501 from UdjinM6/v0.12.0.x_mnb_bug
V0.12.0.x allow mnb to be checked again if issue is (possibly) on our side
2015-08-10 05:47:03 -07:00
evan82
0297da668b Merge pull request #500 from UdjinM6/v0.12.0.x_DS_single_random_denom
V0.12.0.x Use single random denom in new DS session
2015-08-10 05:46:26 -07:00
Philip Kaufmann
be942def4b [Qt] add verifySize() function to PaymentServer
- add static verifySize() function to PaymentServer and move the logging
  on error into the function
- also use the new function in the unit test
- the function checks if the size is allowed as per BIP70
2015-08-10 14:12:15 +02:00
Philip Kaufmann
92684bb872 [Qt] minor optimisations in peertablemodel
- remove an unneeded include of net.h in peertablemodel.cpp
- add const after size() in PeerTablePriv
- remove 2x unneeded else in functions
- replace a (int) typecast by (QVariant) to use Qt style
- remove unneeded include of peertablemodel.h from rpcconsole.cpp
2015-08-10 14:11:25 +02:00
UdjinM6
81d96a2b52 fix bug with dsee/dseep proto check 2015-08-10 13:21:58 +03:00
UdjinM6
6b8c6b5c1a allow mnb to be checked again if issue is (possibly) on our side 2015-08-10 03:38:00 +03:00
UdjinM6
4c3f04b834 do not add/update v12 MNs from dsee/dseep 2015-08-10 02:47:35 +03:00
UdjinM6
4046900499 Use single random denom in new DS session 2015-08-10 02:28:43 +03:00
evan82
7d00729177 Merge pull request #497 from UdjinM6/v0.12.0.x_dsee_dseep
V0.12.0.x fix bugs in v12 dsee/dseep
2015-08-09 15:46:04 -07:00
Evan Duffield
fc5be7e363 version bump 2015-08-09 15:44:10 -07:00
UdjinM6
e599928ed3 fix bugs in v12 dsee/dseep 2015-08-10 01:32:09 +03:00
Evan Duffield
1d54f4127b disable superblock spork 2015-08-09 10:49:14 -07:00
evan82
d54d64d5d0 Merge pull request #496 from UdjinM6/v0.12.0.x_locks_fixes
V0.12.0.x locks fixes
2015-08-09 07:48:57 -07:00
evan82
d6ab60b332 Merge pull request #495 from UdjinM6/v0.12.0.x_default_spork_off
V0.12.0.x bump time for sporks 8-10 to be off by default
2015-08-09 07:48:29 -07:00
UdjinM6
5bd997f255 more dsee/dseep for migration:
- inject our node in old masrternodes' list / ping accordingly
- ignore dsee/dseep after SPORK_10_MASTERNODE_PAY_UPDATED_NODES is activated
2015-08-09 16:17:19 +03:00
UdjinM6
ba37415328 support old masternodes 2015-08-09 04:07:58 +03:00
UdjinM6
b743112d57 bump time for sporks 8-10 to be off by default 2015-08-09 03:27:38 +03:00
UdjinM6
84264b0327 millisleep 10->50 on trylock+wait 2015-08-09 00:48:09 +03:00
UdjinM6
17a2587bf1 more trylock+wait: rpc, GetHeight 2015-08-09 00:46:42 +03:00
Evan Duffield
e8ba7328f0 Clear seen on boot and everyday 2015-08-08 13:56:12 -07:00
Evan Duffield
7d51866b9d more debugging for incr sync 2015-08-08 13:24:47 -07:00
Evan Duffield
8e5c8d13d0 fix rpccommand fin budget getvotes 2015-08-08 13:10:38 -07:00
Evan Duffield
80495361f3 incremental sync with our peers 2015-08-08 13:04:25 -07:00
Evan Duffield
91bd9c7cf0 fValid for mnfinalbudget 2015-08-08 12:35:28 -07:00
Evan Duffield
2f63f98e50 Add sync mode for budget processing 2015-08-08 12:29:31 -07:00
Evan Duffield
9151acdd92 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-08-08 11:31:42 -07:00
Evan Duffield
ed9e287ce8 changed block cycle 2015-08-08 11:31:23 -07:00
evan82
b67d049fb8 Merge pull request #491 from UdjinM6/v0.12.0.x_locks_fixes
(WIP) V0.12.0.x Locks fixes
2015-08-08 11:11:37 -07:00
evan82
d5f70626c9 Merge pull request #493 from UdjinM6/v0.12.0.x_mnconf_comments
V0.12.0.x recognize comments in masternode.conf / write initial file
2015-08-08 11:10:47 -07:00
evan82
2f479e45db Merge pull request #492 from UdjinM6/v0.12.0.x_mncheck
V0.12.0.x set a cooldown for MN check
2015-08-08 11:10:38 -07:00
Evan Duffield
bed645ff9e version bump 2015-08-08 11:09:00 -07:00
Evan Duffield
25750983b0 change superblocks to every 600 blocks 2015-08-08 11:08:00 -07:00
Evan Duffield
dde2b2667a add getvotes for fin bual budget 2015-08-08 10:36:01 -07:00
UdjinM6
e4677275a2 limit scope of cs_wallet in PrepareDarksendDenominate 2015-08-08 20:11:20 +03:00
Matt Corallo
d04285430d SQUASH "Implement watchonly support in fundrawtransaction" 2015-08-08 09:30:53 -07:00
Matt Corallo
428a898acd SQUASH "Add have-pubkey distinction to ISMINE flags" 2015-08-08 09:30:53 -07:00
Daniel Kraft
69c3bde448 Add some const declarations where they are appropriate.
Declare some arguments of functions as "const" pointers where they are
not meant to be modified.
2015-08-08 18:18:41 +02:00
UdjinM6
47b16bab5f recognize comments in masternode.conf / write initial file 2015-08-08 13:49:55 +03:00
UdjinM6
c1aa277286 set a cooldown for MN check 2015-08-08 13:36:30 +03:00
UdjinM6
ec3848c5dd Locks fixes:
- trylock for updateDarksendProgress, checkBalanceChanged, "block"
- trylock+wait for UnlockCoins, SendDarksendDenominate, ProcessNewBlock, ActivateBestChain
- move trylock in DoAutomaticDenominating lower
2015-08-08 10:34:41 +03:00
Evan Duffield
b8e7b84916 extra debugging 2015-08-07 16:53:07 -07:00
Evan Duffield
03236899d1 add fbvote debugging / wallet lock 2015-08-07 15:47:23 -07:00
Evan Duffield
528d2a562e fix log entries 2015-08-07 14:45:08 -07:00
Evan Duffield
33d5b7e746 fix autocheck bug 2015-08-07 13:39:08 -07:00
Cory Fields
9493803f4a Revert "Revert "Assert on probable deadlocks if the second lock isnt try_lock""
This reverts commit a4fe57da62.

The issue here should be fixed by the previous commit.
2015-08-07 16:18:16 -04:00
Cory Fields
605433ffb5 locks: don't lock cs_wallet before making rpc calls 2015-08-07 16:17:57 -04:00
Evan Duffield
e0ecfbd00b allow logging for fbvote 2015-08-07 13:00:27 -07:00
Evan Duffield
572ebf4502 prinf -> logprintf 2015-08-07 11:33:50 -07:00
Evan Duffield
f28e12f23d more debugging for autocheck 2015-08-07 09:54:02 -07:00
Evan Duffield
73e6cc4449 Compare string version of CScript instead 2015-08-07 09:32:35 -07:00
evan82
dac2b0fae5 Merge pull request #490 from UdjinM6/v0.12.0.x_process_on_IsBlockchainSynced
V0.12.0.x process DS,IX,MN,DGBB on IsBlockchainSynced, not on IBD
2015-08-07 06:18:50 -07:00
evan82
491ccc8d62 Merge pull request #488 from UdjinM6/v0.12.0.x_over_scr
V0.12.0.x fixes for overview screen / DS progress
2015-08-07 06:18:10 -07:00
evan82
8424dc7b1a Merge pull request #487 from UdjinM6/v0.12.0.x_ask_for_mn
V0.12.0.x ask for mn / lower mnw ban
2015-08-07 06:17:25 -07:00
Philip Kaufmann
54bd28fa75 [Qt] show client user agent in debug window 2015-08-07 14:01:49 +02:00
Wladimir J. van der Laan
0c465f5e60
Merge pull request #4587
ed166df [Qt] allow users to set -onion via GUI (Philip Kaufmann)
2015-08-07 13:43:13 +02:00
Wladimir J. van der Laan
100c9d3994
Merge pull request #6505
df9c2ee [Qt] replace wifi icon with network symbol (Marco)
9142867 [QT] cleanup icons (Marco)
2015-08-07 12:57:17 +02:00
Wladimir J. van der Laan
e545371b77
Merge pull request #6377
c433828 Handle no chain tip available in InvalidChainFound() (Ross Nicoll)
2015-08-07 09:14:53 +02:00
Wladimir J. van der Laan
41d650ff92
Merge pull request #6527
231c560 Use unique name for AlertNotify tempfile (Casey Rodarmor)
2015-08-07 08:22:11 +02:00
UdjinM6
8063bcc8aa process DS,IX,MN,DGBB on IsBlockchainSynced, not on IBD 2015-08-07 07:48:55 +03:00
UdjinM6
745142f6bf DS progress weights depend on DS rounds in settings / force overview to update on OK in options 2015-08-07 06:19:10 +03:00
UdjinM6
f57c470f95 ask for mn / lower ban score for mnw 2015-08-07 06:07:40 +03:00
Evan Duffield
f94d9803c6 Fixed --disablewallet crash 2015-08-06 16:09:22 -07:00
Evan Duffield
fca0a6d4b8 client bump 2015-08-06 14:48:03 -07:00
Evan Duffield
d251dc6599 Keep track of immature budgets/proposals 2015-08-06 13:18:10 -07:00
Pavel Janík
627468d2ea Add support for data-based outputs (OP_RETURN) to bitcoin-tx. 2015-08-06 20:27:52 +02:00
Pavel Janík
d7078533eb Add OP_RETURN support in createrawtransaction RPC call, add tests. 2015-08-06 20:27:52 +02:00
Wladimir J. van der Laan
a4fe57da62
Revert "Assert on probable deadlocks if the second lock isnt try_lock"
Disabling this for now - too many intermittent Travis issues.

This reverts commit 0fcc4e1e04
(pull #5515).
2015-08-06 14:15:54 +02:00
Wladimir J. van der Laan
2f746c6e8a
Merge pull request #6177
ef8dfe4 Prevent block.nTime from decreasing (Mark Friedenbach)
2015-08-06 12:01:21 +02:00
Wladimir J. van der Laan
fbf44e6f3e Add debug message to CValidationState for optional extra information
Add a field `strDebugMessage` which can be passed to DoS or Invalid,
and queried using GetDebugMessage() to add extra troubleshooting
information to the validation state.
2015-08-06 09:47:01 +02:00
Casey Rodarmor
231c5601a1 Use unique name for AlertNotify tempfile 2015-08-05 23:12:26 -04:00
Evan Duffield
a47585ea33 version bump 2015-08-05 16:37:43 -07:00
Evan Duffield
50c7b96c69 Try lock in ProcessGetData 2015-08-05 14:33:51 -07:00
evan82
e05622037c Merge pull request #477 from UdjinM6/v0.12.0.x_locks
V0.12.0.x more locks fixes
2015-08-05 14:31:29 -07:00
UdjinM6
9a9e7b7644 strings/translation source fixes 2015-08-06 00:12:01 +03:00
evan82
42d7223191 Merge pull request #479 from UdjinM6/v0.12.0.x_sync_added
v0.12.0.x clear mapSeenSync... on Reset
2015-08-05 13:14:24 -07:00
UdjinM6
54ac44e60b relay dstx to everyone 2015-08-05 22:43:00 +03:00
Wladimir J. van der Laan
a0625b8085
Merge pull request #5913
5922b67 Add assertion and cast before sending reject code (Wladimir J. van der Laan)
a651403 Add absurdly high fee message to validation state (for RPC propagation) (Shaul Kfir)
2015-08-05 19:12:48 +02:00
Wladimir J. van der Laan
5922b6774e Add assertion and cast before sending reject code
This gets rid of a warning. Add an assertion to make sure that the
reject code is in the correct range for the network protocol
(if it is outside the range it must be a bug)
2015-08-05 19:02:19 +02:00
Evan Duffield
8bd8a897d0 IsBlockchainSynced in mnsync 2015-08-05 07:28:10 -07:00
Evan Duffield
801e597d64 added mnsync command 2015-08-05 07:24:58 -07:00
Wladimir J. van der Laan
c384800027
Merge pull request #6462
7b79cbd limit total length of user agent comments (Pavol Rusnak)
557f8ea implement uacomment config parameter which can add comments to user agent as per BIP-0014 (Pavol Rusnak)
2015-08-05 15:43:10 +02:00
Wladimir J. van der Laan
c9c017adf6
Merge pull request #6489
f261f19 Give a better error message if system clock is bad (Casey Rodarmor)
2015-08-05 10:23:01 +02:00
Pavol Rusnak
7b79cbd722 limit total length of user agent comments
Reworked-By: Wladimir J. van der Laan <laanwj@gmail.com>
2015-08-05 09:38:20 +02:00
UdjinM6
903970d0cf clear mapSeenSync... on Reset 2015-08-05 05:10:47 +03:00
evan82
0d625c888d Merge pull request #478 from UdjinM6/v0.12.0.x_sync_added
V0.12.0.x track hashes and update `last...` only twice per hash
2015-08-04 19:00:15 -07:00
UdjinM6
6b74652b01 track hashes and update "last..." only twice per hash 2015-08-05 04:18:37 +03:00
Evan Duffield
bb5570015f Keep track of and reprocess rejected blocks 2015-08-04 18:05:57 -07:00
UdjinM6
7d78c98f0d Few more lock-related fixes:
- do not lock cs_main for mnodeman.CheckAndRemove() - we have trylock inside CMasternode.Check, should be enough
- fast cs_main lock for ix
- use RelayInv instead of manually locking nodes / pushing inv
- do not lock cs_vNodes / ClearFulfilledRequest on every 100th block, CMasternodeSync should already handle resync by itself better now
2015-08-05 01:54:31 +03:00
UdjinM6
ff159ad7e7 ConnectNode/FindNide:
- Use FindNode instead of explicit loops
- Do not use FindNode where we can grab node right from ConnectNode (slightly less cs_vNodes)
2015-08-05 01:38:54 +03:00
UdjinM6
3f7e62e2bf cleanup CMasternodeSync a bit 2015-08-05 00:49:14 +03:00
UdjinM6
174f8a7644 merge IsBlockchainSynced and WakeUp 2015-08-05 00:15:24 +03:00
Evan Duffield
57599e07e3 protocol bump 2015-08-04 11:22:31 -07:00
Evan Duffield
743f7fc5eb new wakeup/sleep sync code 2015-08-04 11:21:27 -07:00
Evan Duffield
0260e06648 version bump 2015-08-04 10:58:21 -07:00
Evan Duffield
76959ead20 Fixed GetBudget 2015-08-04 10:55:54 -07:00
Pieter Wuille
586a29253d
Merge pull request #6503
19dd40a Consolidate individual references to the current maximum peer connection value of 125 into a single constant declaration. (Matt Quinn)
2015-08-04 19:43:30 +02:00
Evan Duffield
c770283371 Lower IX conf minimum
- 1 less than the "send IX" gui requires, incase of a block propagating the network at the time
2015-08-04 10:42:05 -07:00
Evan Duffield
a0addf20a9 check collateral tx, find masternode before vote 2015-08-04 09:31:19 -07:00
Marco
df9c2ee1c9 [Qt] replace wifi icon with network symbol 2015-08-04 16:53:30 +02:00
UdjinM6
b4aaa11864 translations >80% 2015-08-04 17:02:24 +03:00
Marco
9142867572 [QT] cleanup icons
* Cleanup SVG code
* Unify design ("Typicons" seem to have round edges)
* Fix transparency issue with clock5.png
2015-08-04 12:06:12 +02:00
evan82
76858b0341 Merge pull request #474 from UdjinM6/v0.12.0.x_ref_IsBlockchainSynced
V0.12.0.x use fBlockchainSynced right on IsBlockchainSynced start
2015-08-03 16:49:25 -07:00
Wladimir J. van der Laan
b6fee6b7c7
Merge pull request #6504
9ca7857 Rationalize currency unit to "BTC" (Ross Nicoll)
2015-08-04 01:24:19 +02:00
UdjinM6
2235671775 use fBlockchainSynced right on IsBlockchainSynced start 2015-08-04 02:23:36 +03:00
Ross Nicoll
9ca7857df7 Rationalize currency unit to "BTC"
Previously various user-facing strings have used inconsistent currency units "BTC",
"btc" and "bitcoins". This adds a single constant and uses it for each reference to
the currency unit.

Also adds a description of the unit for --maxtxfee, and adds the missing "amount"
field description to the (deprecated) move RPC command.
2015-08-03 22:58:30 +01:00
Matt Quinn
19dd40a25f Consolidate individual references to the current maximum peer connection
value of 125 into a single constant declaration.
2015-08-03 14:37:00 -07:00
evan82
66c3cc1708 Merge pull request #472 from UdjinM6/v0.12.0.x_ref_IsBlockchainSynced
V0.12.0.x refactor IsBlockchainSynced
2015-08-03 14:21:43 -07:00
UdjinM6
2e8445e741 refactor IsBlockchainSynced 2015-08-04 00:09:27 +03:00
Evan Duffield
ecea4bfaf9 client version bump 2015-08-03 13:41:19 -07:00
UdjinM6
12d320301f add composite debug category dash=darksend+instantx+masternode+keepass+mnpayments+mnbudget 2015-08-03 23:23:30 +03:00
evan82
cc4b40616f Merge pull request #470 from UdjinM6/v0.12.0.x_fix_rpc_darksend_lock
V0.12.0.x fix rpc for darksend
2015-08-03 13:16:56 -07:00
UdjinM6
240bb10d33 fix rpc for darksend 2015-08-03 23:14:19 +03:00
Evan Duffield
1f35a12033 disable ix for fin budget submit 2015-08-03 12:57:15 -07:00
Evan Duffield
92be1268bb Fixed bug with AutoCheck finalbudget voting 2015-08-03 12:54:54 -07:00
Casey Rodarmor
2d8c49d126 Clean up tx prioritization when conflict mined 2015-08-03 15:49:01 -04:00
Casey Rodarmor
f261f19b4b Give a better error message if system clock is bad
Fixes #2007

This checks to see if the system clock appears to be bad and gives a
helpful error message. If the user's clock is set incorrectly, hopefully
they'll abort, fix it, and then save themselves a fruitless resync.
2015-08-03 15:11:52 -04:00
Evan Duffield
c7077dc9d4 disable try-lock on IBD 2015-08-03 12:11:32 -07:00
Evan Duffield
e0031a807e Add superblock checks in various places 2015-08-03 11:38:08 -07:00
Wladimir J. van der Laan
219b916545
Merge pull request #6498
a8d0407 Move recentRejects initialization to top of InitBlockIndex (Wladimir J. van der Laan)
0847d9c Keep track of recently rejected transactions (Peter Todd)
d741371 Only use randomly created nonces in CRollingBloomFilter. (Pieter Wuille)
d2d7ee0 Make CRollingBloomFilter set nTweak for you (Peter Todd)
a3d65fe Reuse vector hashing code for uint256 (Pieter Wuille)
bbe4108 Add uint256 support to CRollingBloomFilter (Peter Todd)
2015-08-03 20:13:43 +02:00
Wladimir J. van der Laan
10ac38ed9f
Merge pull request #6284
c6455c7 doc: mention change to option parsing behavior in release notes (Wladimir J. van der Laan)
c38c49d Fix argument parsing oddity with -noX (Wladimir J. van der Laan)
2015-08-03 19:54:52 +02:00
Wladimir J. van der Laan
9e6c33b202
Merge pull request #6356
f0cba6f Delay initial pruning until after wallet init (Adam Weiss)
2015-08-03 19:34:50 +02:00
UdjinM6
18635f0979 fix debug output 2015-08-03 19:24:23 +03:00
Wladimir J. van der Laan
f18b8ec7cf Make sure LogPrintf strings are line-terminated
Fix the cases where LogPrint[f] was accidentally called without line
terminator, which resulted in concatenated log lines.

(see e.g. #6492)
2015-08-03 17:40:55 +02:00
Evan Duffield
334c3ea971 Added ReprocessBlocks 2015-08-02 16:08:37 -07:00
Evan Duffield
f6721cbe17 Reconsider : typo, use i and break 2015-08-02 15:50:27 -07:00
Evan Duffield
d80feacc8e Reprocess before disconnect for rescan 2015-08-02 14:59:28 -07:00
Evan Duffield
d1e6388ccc Undo try_locks for miner 2015-08-02 13:07:23 -07:00
Evan Duffield
9a18014987 enable block cache 2015-08-02 12:16:09 -07:00
Evan Duffield
34d5fb1d75 remove checkpoint 2015-08-02 09:52:01 -07:00
Evan Duffield
28fe729708 fix non-super block check 2015-08-02 09:31:12 -07:00
Evan Duffield
0387ebe244 Version 35 2015-08-02 07:29:09 -07:00
Evan Duffield
ef1dc8434e Prepare testnet for upgrade 2015-08-02 07:28:38 -07:00
Evan Duffield
c0af8b15f8 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-08-02 07:01:11 -07:00
UdjinM6
091867525c more info on ds progress / update tr strings / prepare dash_en.ts for translations 2015-08-02 06:19:48 +03:00
UdjinM6
b8dbdb356a Merge pull request #468 from crowning-/UI_Enhancements
UI: "Confirm send coins" popup beautified
2015-08-02 06:18:09 +03:00
Evan Duffield
53e1cd66ff Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-08-01 16:05:45 -07:00
evan82
718c7f14f9 Merge pull request #384 from UdjinM6/v0.12.0.x_debug_categories
V0.12.0.x additional debug categories
2015-08-01 15:48:03 -07:00
crowning-
efc74b2253 UI: "Confirm send coins" popup beautified 2015-08-01 21:55:46 +02:00
Evan Duffield
64aad03485 draft 2015-08-01 02:03:15 -07:00
Evan Duffield
171c0b145a TRY_LOCK for blocks 2015-08-01 01:58:18 -07:00
Evan Duffield
44c99417d2 disable block cache / fix reprocess 2015-08-01 01:51:30 -07:00
Evan Duffield
8b62e590df version bump / proto bump / try mining lock 2015-07-31 19:18:26 -07:00
Evan Duffield
fa9a0ec037 Use reconsider blocks for IX instead of disconnect 2015-07-31 12:39:02 -07:00
evan82
8168b60301 Merge pull request #465 from crowning-/v0.12.0.x
UI: alignment fix for Overview-page
2015-07-31 11:54:21 -07:00
UdjinM6
dd8fa7c365 Continue work on more debug categories
- rebased to latest v12
- masternode, mnpayments, mnbudget and keepass categories
- remove c_str in logprint(f)
2015-07-31 19:01:18 +03:00
Wladimir J. van der Laan
a8d0407c4f Move recentRejects initialization to top of InitBlockIndex
This avoids that premature return in the condition that a new chain is initialized
results in NULL pointer errors due to recentReject not being constructed.

Also add assertions where it is used.
2015-07-31 17:58:12 +02:00
UdjinM6
1c7c81afb3 cleanup other incorrect ix log outputs 2015-07-31 18:52:19 +03:00
UdjinM6
184611f2ac add instantx debug category 2015-07-31 18:52:19 +03:00
UdjinM6
f0923de04c add darksend debug category 2015-07-31 18:52:19 +03:00
UdjinM6
2ade614458 fix 2015-07-31 18:49:57 +03:00
Pavol Rusnak
557f8eac7a implement uacomment config parameter
which can add comments to user agent as per BIP-0014
2015-07-31 16:19:23 +02:00
evan82
371bf3491b Merge pull request #464 from UdjinM6/v0.12.0.x_cleanup
V0.12.0.x cleanups/small fixes:
2015-07-31 05:52:16 -07:00
Wladimir J. van der Laan
86cfd23f68
Merge pull request #6473
5fb5c9b Clean up chainparams some more. (Daniel Kraft)
2015-07-31 10:10:55 +02:00
Wladimir J. van der Laan
9848d4297b
Merge pull request #6487
eec7757 qt: Introduce PlatformStyle (Wladimir J. van der Laan)
2015-07-31 10:06:49 +02:00
Wladimir J. van der Laan
eec7757445 qt: Introduce PlatformStyle
Introduce a PlatformStyle to handle platform-specific customization of
the UI.

This replaces 'scicon', as well as #ifdefs to determine whether to place
icons on buttons.

The selected PlatformStyle defaults to the platform that the application
was compiled on, but can be overridden from the command line with
`-uiplatform=<x>`.

Also fixes the warning from #6328.
2015-07-31 09:35:18 +02:00
crowning-
d75ffba355 UI: alignment fix for Overview-page (typo fix) 2015-07-31 09:35:17 +02:00
crowning-
a5170420db UI: alignment fix for Overview-page 2015-07-31 08:40:06 +02:00
mruddy
af3208bfa6 Resolve issue 3166.
These changes decode valid SIGHASH types on signatures in assembly (asm) representations of scriptSig scripts.
This squashed commit incorporates substantial helpful feedback from jtimon, laanwj, and sipa.
2015-07-30 19:56:00 -04:00
Evan Duffield
d57d6f0466 disable IX for proposal fees 2015-07-30 14:27:25 -07:00
Evan Duffield
1cf19c64ac Check prop FeeHash separate w/o banning prop 2015-07-30 13:15:27 -07:00
Evan Duffield
6c6aa3512f fixed sendtoaddressix 2015-07-30 12:00:17 -07:00
Evan Duffield
5024b7d3f6 Added sendtoaddressix for api IX support 2015-07-30 11:33:56 -07:00
UdjinM6
9ab4a72454 cleanups/fixes:
- use map.insert instead of [] (should be safer)
- debug output / comments / spaces / names
- fix few long strings / make translatable one more label in UI
2015-07-30 19:12:05 +03:00
Evan Duffield
ebc2591e4b Revert "lock debugging"
This reverts commit e230762d5a.
2015-07-30 07:49:08 -07:00
Evan Duffield
7a9028631a Revert "Disable CheckAndRemove on file dumps"
This reverts commit 3fc9ea4adf.
2015-07-30 07:41:14 -07:00
UdjinM6
afd715286a fix all kind of lock issues 2015-07-30 16:44:18 +03:00
Evan Duffield
3f4727716a disable sync-retry 2015-07-30 06:27:57 -07:00
Evan Duffield
3a72bea5b3 fixed sync edge case 2015-07-30 06:27:57 -07:00
Evan Duffield
3fc9ea4adf Disable CheckAndRemove on file dumps
- Testing theory for lockups
2015-07-30 06:27:57 -07:00
Evan Duffield
805452955b Proposal nTime based on fee transaction block 2015-07-30 06:27:29 -07:00
crowning-
0e7b73e166 UI: better alignment of overview-screen 2015-07-30 06:27:29 -07:00
UdjinM6
36bb9d6e27 FindRandomNotInVec - should give less failures then FindRandom on doauto 2015-07-30 06:27:29 -07:00
UdjinM6
6c7d66f0c1 add cs_wallet lock on GetInputDarksendRounds 2015-07-30 06:27:29 -07:00
UdjinM6
8a3f3428dd move ds/ix/mn lib to wallet category 2015-07-30 06:27:29 -07:00
UdjinM6
c99af0bc63 More DS refactoring/fixes:
- move ds rounds calculation to wallet
- add cache to / rework anon/denom balance functions
- fix updates on new blocks for ds status on overview page
- fix after rebase
2015-07-30 06:27:29 -07:00
UdjinM6
ba5e906b9d do not mix 1000 if it's local MN _OR_ input is locked - should allow to mix 1000 in all other cases 2015-07-30 06:27:28 -07:00
UdjinM6
976bd7853f Refactor DS:
- always clear entries, do not try to reuse them
- unlock coins only when needed (do not unlock them every 10 blocks)
- make logic a bit more strightforward in few places
- clear all expired on timeout (not just the first found)
- add 2 additional statuses on doauto
- run DS checks when mn list sync started, do not wait for full sync
- move most class members to private
2015-07-30 06:27:28 -07:00
Evan Duffield
e230762d5a lock debugging 2015-07-30 06:27:28 -07:00
crowning-
ff2fa918b6 UI: CSS for watch-only addresses added 2015-07-30 06:27:28 -07:00
Evan Duffield
0152a1fc11 Removed IsBudgetPaymentBlock lock 2015-07-29 13:59:07 -07:00
Evan Duffield
dfad32272c Refactored locking for masternode winners and budgets 2015-07-29 12:29:46 -07:00
Daniel Kraft
5fb5c9b213 Clean up chainparams some more.
Clean up the code in chainparams a bit more after the recent
refactorings.  In particular, make sure the structure of the "RegTest"
params matches the structure of the other classes.  This makes the code
clearer to read.

Also remove redundant values of the genesis block in always-specified
optional arguments and mark variable/argument as "const".
2015-07-29 21:13:36 +02:00
Wladimir J. van der Laan
675d2feffa
Merge pull request #6224
59b49cd Eliminate signed/unsigned comparison warning (Suhas Daftuar)
04b5d23 Replace sleep with syncing using pings (Suhas Daftuar)
6b1066f Ignore whitelisting during IBD for unrequested blocks. (Suhas Daftuar)
bfc30b3 Ignore unrequested blocks too far ahead of tip (Suhas Daftuar)
2015-07-29 20:04:15 +02:00
Adam Weiss
f0cba6f8eb Delay initial pruning until after wallet init
Don't prune until any wallet rescanning has taken place to avoid
potentially pruning blocks that the wallet rescan may need.
2015-07-29 14:00:25 -04:00
Wladimir J. van der Laan
7cbed7fa28
Merge pull request #6488
17ac0f4 Avoid leaking file descriptors in RegisterLoad (Casey Rodarmor)
2015-07-29 18:59:23 +02:00
Evan Duffield
fc33c3b963 fixed GetBudget bug 2015-07-29 01:29:15 -07:00
Evan Duffield
f82a028869 Budget prop empty / version bump 2015-07-29 01:08:47 -07:00
Evan Duffield
0edb236801 Fixed item count functionality and sync with no budegt 2015-07-29 01:06:30 -07:00
Evan Duffield
dc829e9d2c added syncing counts 2015-07-28 21:16:11 -07:00
Evan Duffield
08de7c3bc4 try activation immediately after sync 2015-07-28 20:26:08 -07:00
Evan Duffield
8acfd77750 Fixed HaveBudget, allow failure after 3 tries 2015-07-28 13:14:32 -07:00
Evan Duffield
a069a5df5e Update isBlockchainSynced requirements 2015-07-28 13:07:40 -07:00
Peter Todd
0847d9cb5f
Keep track of recently rejected transactions
Nodes can have divergent policies on which transactions they will accept
and relay.  This can cause you to repeatedly request and reject the same
tx after its inved to you from various peers which have accepted it.
Here we add rolling bloom filter to keep track of such rejections,
clearing the filter every time the chain tip changes.

Credit goes to Alex Morcos, who created the patch that this code is
based on.

Original code by Peter Todd. Refactored to not construct the
filter at startup time by Pieter Wuille.
2015-07-28 15:50:13 -04:00
Cory Fields
17221bf77e chainparams: don't use std namespace 2015-07-28 15:33:33 -04:00
Cory Fields
f0deec572b chainparams: move CCheckpointData into chainparams.h
This unties CChainParams from its dependency on checkpoints. Instead, now it
only depends on the raw checkpoint data.
2015-07-28 15:26:50 -04:00
Pieter Wuille
eddaba7b56
Revert "Cache transaction validation successes"
This reverts commit 17b11428c1.
2015-07-28 20:15:00 +02:00
Casey Rodarmor
17ac0f4025 Avoid leaking file descriptors in RegisterLoad
This is pretty trivial, but if there's an error here we'll leak a file
descriptor. Changed it to always close the file.
2015-07-28 14:01:00 -04:00
Evan Duffield
ffaedc1829 Fixed proposal nTime calculation and usage 2015-07-28 08:55:11 -07:00
Evan Duffield
69b02b5519 Fixed documentation 2015-07-28 07:52:12 -07:00
Evan Duffield
8be929d870 version bump 2015-07-28 06:43:39 -07:00
Evan Duffield
d72d3d022d Various Fixes
- Testnet budget adjustments to allow quick cycles that create no inflation in the testnet environment
- Budget proposal are sorted by YesCount-NoCount now
- Added nTime to proposals
- Only allow proposals more than 1 day old into budgets
2015-07-28 06:40:48 -07:00
Evan Duffield
781db99ee9 Changed hard fork date to Aug 30 2015-07-28 01:28:08 -07:00
Pavel Vasin
5e56ef5152 qt: use CHashWriter also in SignVerifyMessageDialog
This eliminates unnecessary copying of data being hashed.
2015-07-28 10:59:16 +03:00
Evan Duffield
b6222a9ae9 change req sigs to 6 of 10 2015-07-27 17:33:57 -07:00
Evan Duffield
b540068f94 enable mnw lock 2015-07-27 15:44:51 -07:00
Evan Duffield
bf18699ade client bump /proto bump 2015-07-27 12:35:17 -07:00
Evan Duffield
cddbda994f Fixed DarkSend dstx propagation issues 2015-07-27 12:34:02 -07:00
Evan Duffield
9689e5c077 improve errors for missing finbudgets/props 2015-07-27 10:28:10 -07:00
Pieter Wuille
d741371d7d Only use randomly created nonces in CRollingBloomFilter. 2015-07-27 19:09:39 +02:00
Peter Todd
d2d7ee0e86 Make CRollingBloomFilter set nTweak for you
While CBloomFilter is usually used with an explicitly set nTweak,
CRollingBloomFilter is only used internally. Requiring every caller to
set nTweak is error-prone and redundant; better to have the class handle
that for you with a high-quality randomness source.

Additionally when clearing the filter it makes sense to change nTweak as
well to recover from a bad setting, e.g. due to insufficient randomness
at initialization, so the clear() method is replaced by a reset() method
that sets a new, random, nTweak value.
2015-07-27 18:38:49 +02:00
Pieter Wuille
a3d65fedaa Reuse vector hashing code for uint256 2015-07-27 18:38:45 +02:00
Peter Todd
bbe41088c6 Add uint256 support to CRollingBloomFilter 2015-07-27 18:37:18 +02:00
Evan Duffield
e03879b3cf Update spork name : SPORK_10_MASTERNODE_PAY_UPDATED_NODES 2015-07-27 08:28:10 -07:00
Gavin Andresen
517e6dd256 Unit test doublespends in new blocks
As suggested by Greg Maxwell-- unit test to make sure a block
with a double-spend in it doesn't pass validation if half of
the double-spend is already in the memory pool (so full-blown
transaction validation is skipped) when the block is received.
2015-07-27 15:50:21 +02:00
Pieter Wuille
17b11428c1 Cache transaction validation successes 2015-07-27 15:28:43 +02:00
evan82
225ad3be89 Merge pull request #458 from crowning-/UI_Enhancements
UI: Limit display of Sendcoins-popup to 10 entries.
2015-07-27 05:59:48 -07:00
Wladimir J. van der Laan
c38c49d0b7 Fix argument parsing oddity with -noX
`bitcoind -X -noX` ends up, unintuitively, with `X` set.
(for all boolean options X)

This result is due to the odd two-pass processing of arguments. This
patch fixes this oddity and simplifies the code at the same time.
2015-07-27 14:47:54 +02:00
Wladimir J. van der Laan
ca37e0f339
Merge pull request #5697
60c8bac Includes: Cleanup around net main and wallet (Jorge Timón)
9dd793f TRIVIAL: Missing includes (Jorge Timón)
2015-07-27 14:40:29 +02:00
Wladimir J. van der Laan
614601be8f rpc: Accept strings in AmountFromValue
Accept strings containing decimal values, in addition to bare values.

Useful from JSON-RPC implementations where it's not possible to have
direct control over the text of numbers (e.g. where numbers are always
doubles), and it's still desired to send an exact value.

This would allow users to post JSON content with numbers encoded like
`{"value": "0.00000001"}` instead of `{"value": 0.00000001}` which some
php/python encoders wrap into 1e-8, or worse.
2015-07-27 13:55:46 +02:00
Wladimir J. van der Laan
d43297c5ba
Merge pull request #6468
6f8b6d3 don't try to decode invalid encoded ext keys (Jonas Schnelli)
8d2af54 extend bip32 tests to cover Base58c/CExtKey decode (Jonas Schnelli)
7cb1f9f fix and extend CBitcoinExtKeyBase template (Jonas Schnelli)
2015-07-27 13:20:54 +02:00
Wladimir J. van der Laan
f6850d58f7
Merge pull request #6471
060b3d3 fixup: qt 5.5 snuck in another module that needs path hand-holding (Cory Fields)
ecd6a89 depends: make more qt flags explicit (Cory Fields)
ab67dd7 depends: bump to qt 5.5 (Cory Fields)
5189fe3 depends: split qt config options to separate lines (Jacob Welsh)
fe997df build: fix building against qt5.4/5.5 (Cory Fields)
2015-07-27 12:28:42 +02:00
Evan Duffield
7b480ac74d Eliminate false positives for syncing process 2015-07-26 20:41:57 -07:00
Evan Duffield
597c2b299d new masternode start strategy - only check blockchain sync status 2015-07-26 13:09:52 -07:00
Evan Duffield
d227f28621 allow masternodes to turn on pre-sync - udjin 2015-07-26 12:37:01 -07:00
crowning-
76c4cfc0de UI: Limit display of Sendcoins-popup to 10 entries. 2015-07-26 18:43:22 +02:00
Evan Duffield
da21fed1f5 version bump 2015-07-26 07:36:40 -07:00
Evan Duffield
145c845d1f Changed vote restrition model
- Masternodes can only vote once per hour now, instead of 100 times a day total
- UI reports back errors now
2015-07-26 07:01:49 -07:00
Evan Duffield
f82b34f3f2 better sorting algorithm
-- sort props by votes then nFeeHashTX
2015-07-26 05:26:15 -07:00
Evan Duffield
2b3edff435 Only relay good budget items 2015-07-25 21:23:38 -07:00
Evan Duffield
b04faf6e2d Update lastPing in mapSeen obj, remove ping from CMasternode hash 2015-07-25 21:13:17 -07:00
Evan Duffield
04fc6e1fb4 Change rest of sync process to direct inv messages / reduced sync timeout 2015-07-25 20:17:53 -07:00
Evan Duffield
61becf2f11 directly send inv messages 2015-07-25 19:27:40 -07:00
Evan Duffield
c0a5dfba61 Masternode inv messages / save seen in mncache 2015-07-25 12:07:30 -07:00
Evan Duffield
43101ebeca Implement planned hard forks, August 24, 2015 2015-07-25 11:02:38 -07:00
Evan Duffield
0b9d761a38 only take newest votes 2015-07-25 09:59:59 -07:00
Evan Duffield
8187228be1 Fixed budget syncing issues / forking issues / syncing issues
- Budgets now store the seen objects locally so they're not overwritten when saving/loading to check validity of budget.dat
- Added safer sync "failure" mode, that will retry an hour later if the sync fails for some reason. This will stop the client from thinking it has budget data and rejecting blocks when they're valid.
- protocol bump
- version bump
2015-07-25 09:29:29 -07:00
evan82
24183b156b Merge pull request #456 from UdjinM6/v0.12.0.x_info_mn_count
V0.12.0.x more info for masternode count output/rpcconsole dialog
2015-07-25 06:32:41 -07:00
evan82
26b2c3243c Merge pull request #455 from UdjinM6/v0.12.0.x_mnb_hash_lastPing
V0.12.0.x include lastPing in mnb hash calculation
2015-07-25 06:31:51 -07:00
UdjinM6
8079967cc5 more info for masternode count output/rpcconsole dialog 2015-07-25 11:18:22 +03:00
Jonas Schnelli
6f8b6d339b don't try to decode invalid encoded ext keys 2015-07-25 09:51:52 +02:00
UdjinM6
5a6e474ec6 include lastPing in mnb hash calculation 2015-07-25 09:22:58 +03:00
Evan Duffield
61745d7724 Filter SigTime modes / version / proto bump 2015-07-24 16:10:44 -07:00
UdjinM6
491c46c412 remove sync forcing and count already seen as a success instead 2015-07-24 21:35:11 +03:00
Evan Duffield
38cd9bd679 Improve portability of mn ranking algos 2015-07-24 09:44:46 -07:00
Evan Duffield
5281c48f70 Fix syncing issues
- if(pindexPrev->nHeight + 4 < pindexBestHeader->nHeight || pindexPrev->nTime + 600 < GetTime()) return;
-- && allowed skipping in various situations, which caused blocks to be rejected because of lack of mnfinalbudget data
2015-07-24 09:10:08 -07:00
Evan Duffield
9e65749ff6 Safer calcscore implementation 2015-07-24 08:50:10 -07:00
Evan Duffield
c137a204fb Added calcscore cmd 2015-07-24 08:21:02 -07:00
Evan Duffield
85e1280bc3 limit mnw votes-per-mn 2015-07-24 07:12:48 -07:00
Philip Kaufmann
ed166dfa82 [Qt] allow users to set -onion via GUI
- also allow users to see, if the default proxy (-proxy) is used for
  reaching peers via IPv6 or Tor
2015-07-24 12:28:06 +02:00
Wladimir J. van der Laan
bfd807ff32
Merge pull request #6456
ec249d4 util: use locale-independent parsing in ParseDouble (Wladimir J. van der Laan)
7650449 univalue: Avoid unnecessary roundtrip through double for numbers (Wladimir J. van der Laan)
e061e27 rpc: Make ValueFromAmount always return 8 decimals (Wladimir J. van der Laan)
2015-07-24 11:08:52 +02:00
Evan Duffield
48f9e277f9 changed min ver back to 70066 2015-07-23 18:55:39 -07:00
Cory Fields
fe997dfd12 build: fix building against qt5.4/5.5 2015-07-23 21:10:35 -04:00
UdjinM6
f8f4bff9a1 do not sync while IBD 2015-07-24 01:35:59 +03:00
UdjinM6
f0ccd2b8cb fix resync 2015-07-24 01:35:11 +03:00
Evan Duffield
814f8e3f17 delete comment 2015-07-23 15:05:47 -07:00
Evan Duffield
ac947444da protocol bump 2015-07-23 15:02:15 -07:00
Evan Duffield
9fb56d9479 Various improvements
- Use INV messages where possible in syncing process
- Ask 4 peers intend of 2 to send of inventory of mnw, and budgets
- Special regtest sync mode
- Fix mnw freezing issue (maybe)
2015-07-23 14:35:14 -07:00
Jorge Timón
60c8bac77c Includes: Cleanup around net main and wallet
-Move from .h to .cpp: in main, net and wallet
-Remove unnecessary #include "main.h"
-Cleanup some wallet files includes
2015-07-23 21:10:26 +02:00
Jorge Timón
9dd793f499 TRIVIAL: Missing includes 2015-07-23 21:10:22 +02:00
Evan Duffield
fa6216f115 Check for existing budget hash before submitting 2015-07-23 11:48:19 -07:00
Evan Duffield
9aca541200 inc min peer version to 70094 for testing 2015-07-23 11:36:07 -07:00
Evan Duffield
5c935c8c86 version bump 2015-07-23 11:16:49 -07:00
Wladimir J. van der Laan
d2464dfee9
Merge pull request #6287
a794284 locking: add a quick example of GUARDED_BY (Cory Fields)
2b890dd locking: fix a few small issues uncovered by -Wthread-safety (Cory Fields)
cd27bba locking: teach Clang's -Wthread-safety to cope with our scoped lock macros (Cory Fields)
2015-07-23 18:45:26 +02:00
Wladimir J. van der Laan
d946e9a848
Merge pull request #5515
0fcc4e1 Assert on probable deadlocks if the second lock isnt try_lock (Matt Corallo)
2015-07-23 18:34:35 +02:00
Evan Duffield
f727b2dbd7 Fixed RemainingPayments display bug
- When proposal hasn't started yet, remaining payment is calculated incorrectly.
2015-07-23 07:36:41 -07:00
Jonas Schnelli
8d2af54ecc extend bip32 tests to cover Base58c/CExtKey decode 2015-07-23 16:32:31 +02:00
Jonas Schnelli
7cb1f9f7eb fix and extend CBitcoinExtKeyBase template
- fix Decode call (req. only one param)
- add constructor for base58c->CExtKey
2015-07-23 16:32:21 +02:00
Evan Duffield
35cc21edf3 New masternodes must wait till end of queue 2015-07-23 07:16:55 -07:00
Evan Duffield
cd862ac1ea Disable multisig proposals / IsScheduled read ahead 8 blocks 2015-07-23 06:46:38 -07:00
evan82
5cccd2b269 Merge pull request #447 from crowning-/UI_Enhancements
UI: fixed width of wallet-repair-buttons for longer locales
2015-07-23 06:31:09 -07:00
evan82
516c5fff0f Merge pull request #450 from UdjinM6/v0.12.0.x_active_mn
V0.12.0.x active masternode fixes
2015-07-23 06:30:46 -07:00
evan82
9e879d5e8d Merge pull request #451 from UdjinM6/v0.12.0.x_fix_rpc
V0.12.0.x small fixes for rpc
2015-07-23 06:29:33 -07:00
UdjinM6
ae48f0984e small fixes for rpc 2015-07-23 05:32:13 +03:00
UdjinM6
6123770bf8 active masternode fixes 2015-07-23 05:19:37 +03:00
Evan Duffield
18a908065f Fixed mnbudget suggestion 2015-07-22 18:53:17 -07:00
Evan Duffield
b9d47a0c6f Submit finalized budget 2 days before payment 2015-07-22 17:54:47 -07:00
Evan Duffield
c2a23c5beb Fix sync-spork logic 2015-07-22 16:51:51 -07:00
Matt Corallo
0fcc4e1e04 Assert on probable deadlocks if the second lock isnt try_lock 2015-07-22 16:49:54 -07:00
Ross Nicoll
c433828df9 Handle no chain tip available in InvalidChainFound()
Handle the case where no chain tip is available, in InvalidChainFound(). This fixes a null pointer deference when running unit tests, if the genesis block or block validation code is broken.
2015-07-22 21:10:09 +00:00
Wladimir J. van der Laan
633fe10869
Merge pull request #6149
27d7605 Buffer log messages and explicitly open logs (Adam Weiss)
2015-07-22 18:24:20 +02:00
Evan Duffield
dec45ac67a Fixed bug with remotely enabled masternodes and wrong protocol version 2015-07-21 20:54:58 -07:00
Evan Duffield
388f22c576 Version 26 / New masternode consensus system
- Consensus system selects 1/10 of the oldest masternodes by payment, then selects payee by score from those. This fixes various race conditions when blocks are close together or inconsistant historical winner lists.
- Ask for up to 2 cycles of history
- Keep up to 5 cycles of history locally
2015-07-21 20:07:23 -07:00
Evan Duffield
cbe2bae130 Improved lastpaid and fixed votes calculation 2015-07-21 16:57:21 -07:00
Evan Duffield
b2c4e14ee8 Add offset for lastpaid / seperate min mnw peer version 2015-07-21 16:11:49 -07:00
Evan Duffield
18fc14e03c Improved mnw sync 2015-07-21 15:14:54 -07:00
Evan Duffield
9e5cd419d0 Fixed compile error 2015-07-21 10:00:11 -07:00
Evan Duffield
3fae250190 Dont accept MNW from older masternodes 2015-07-21 08:09:17 -07:00
Evan Duffield
de485fe93d Allow peers to ask for budget votes on testnet more than once 2015-07-21 07:05:35 -07:00
Wladimir J. van der Laan
45d1f5932b
Merge pull request #6381
c4973aa Chainparams: CTestNetParams and CRegTestParams extend directly from CChainParams (Jorge Timón)
d3cf546 Chainparams: Introduce CreateGenesisBlock() static function (Jorge Timón)
2015-07-21 13:29:16 +02:00
Wladimir J. van der Laan
24f6928192
Merge pull request #6400
1327897 Reformat help text of estimatefee and estimatepriority to match other help texts. (Pavel Janík)
2015-07-21 12:49:41 +02:00
Wladimir J. van der Laan
24ce77d775
Merge pull request #6444
0aad1f1 Exempt unspendable transaction outputs from dust checks (zathras-crypto)
2015-07-21 11:47:57 +02:00
Evan Duffield
e4a0e8340c Masternode payment cache and mnget changes
- Cache saves masternode payment history
- On startup, the client will find the most recent block and calculate the amount of entries to ask for. The other peer will then send that amount of entries to save bandwidth on restarts.
2015-07-20 19:24:43 -07:00
Evan Duffield
1eab82ae2b Erase seen masternode broadcasts when masternode drops from list 2015-07-20 16:48:57 -07:00
crowning-
49afaa0557 Merge remote-tracking branch 'upstream/v0.12.0.x' into UI_Enhancements 2015-07-21 01:21:23 +02:00
Matt Corallo
6bdb474dc9 Implement watchonly support in fundrawtransaction
Some code and test cases stolen from
Bryan Bishop <bryan@ledgerx.com> (pull #5524).
2015-07-20 16:01:38 -07:00
Matt Corallo
f5813bdd3e Add logic to track pubkeys as watch-only, not just scripts 2015-07-20 16:01:37 -07:00
Matt Corallo
d3354c52d7 Add have-pubkey distinction to ISMINE flags
This indicates that, eg, we have a public key for a key which may
be used as a pay-to-pubkey-hash. It generally means that we can
create a valid scriptSig except for missing private key(s) with
which to create signatures.
2015-07-20 16:01:37 -07:00
Matt Corallo
5c17059872 Update importaddress help to push its use to script-only 2015-07-20 16:01:37 -07:00
Matt Corallo
a1d7df3236 Add importpubkey method to import a watch-only pubkey 2015-07-20 16:01:37 -07:00
Matt Corallo
907a425aa5 Add p2sh option to importaddress to import redeemScripts 2015-07-20 16:01:37 -07:00
Matt Corallo
983d2d90af Split up importaddress into helper functions 2015-07-20 16:01:37 -07:00
Matt Corallo
cfc3dd3428 Also remove pay-2-pubkey from watch when adding a priv key 2015-07-20 16:01:37 -07:00
Evan Duffield
6df7519e02 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-20 15:14:18 -07:00
Evan Duffield
37f55a3181 Refactored masternode payments system
- Replaced coinbase cache in favor of using the masternode payments voting system only
- Syncing masternode payments now supports up to the syncing the entire payment list
2015-07-20 15:09:42 -07:00
UdjinM6
8198291c7b Force sync progress:
If it's already more then MASTERNODE_SYNC_TIMEOUT seconds passed since we asked
and we still have nothing, assume there is nothing to sync but give it another
MASTERNODE_SYNC_TIMEOUT seconds until we move further
2015-07-20 22:33:18 +03:00
Evan Duffield
d193cc2d91 Clean up broadcast list when nodes are removed 2015-07-20 12:20:15 -07:00
Evan Duffield
2d745eb539 Don't sync sporks in regtest, fix segfault
- segfault caused by:
-    fRequireEnabled = (fRequireEnabled && pmn->IsEnabled()) || !fRequireEnabled;
-    if(pmn != NULL && fRequireEnabled && pmn->protocolVersion >= masternodePayments.GetMinMasternodePaymentsProto())
2015-07-20 11:56:02 -07:00
crowning-
52b930329d UI: fixed width of wallet-repair-buttons for longer locales 2015-07-20 20:52:49 +02:00
Evan Duffield
f36e4251ab mnb/mnp debugging 2015-07-20 11:43:10 -07:00
evan82
aa996b2615 Merge pull request #446 from UdjinM6/v0.12.0.x_fix_mnb_ping_acceptance
V0.12.0.x fix mnb ping acceptance
2015-07-20 11:21:15 -07:00
UdjinM6
cc26cff893 do not require active MN on ping check from UpdateFromNewBroadcast 2015-07-20 20:46:22 +03:00
evan82
a683078867 Merge pull request #445 from crowning-/UI_Enhancements
UI: allow "," in "Min amount" field of Transaction-View
2015-07-20 10:45:37 -07:00
Evan Duffield
77af4fb6ad MNP ping changes
- Ping every 5 minutes
- Nodes will propagate pings every 10 minutes
2015-07-20 10:44:27 -07:00
Pavel Janík
1327897aee Reformat help text of estimatefee and estimatepriority to match other help texts. 2015-07-20 19:32:38 +02:00
crowning-
fb5f80a06a UI: allow "," in "Min amount" field of Transaction-View 2015-07-20 18:28:49 +02:00
Wladimir J. van der Laan
6d6b11e793
Merge pull request #6408
dca6040 [Qt] remove std namespace polution from code (Philip Kaufmann)
2015-07-20 18:00:32 +02:00
Wladimir J. van der Laan
ae52a7ffd1
Fix warning introduced by #6412
SOCKET are defined as unsigned integers, thus always >=0.

Rebased-From: 89289d875d
2015-07-20 17:30:17 +02:00
Pieter Wuille
0739e6e57a
Test whether created sockets are select()able
Conflicts:
	src/net.cpp

Github-Pull: #6412
Rebased-From: d422f9b1fd
2015-07-20 17:29:44 +02:00
Pieter Wuille
9e38d0f745 Separate core memory usage computation in core_memusage.h 2015-07-20 11:17:53 -04:00
Wladimir J. van der Laan
89289d875d
Fix warning introduced by #6412
SOCKET are defined as unsigned integers, thus always >=0.
2015-07-20 17:10:02 +02:00
Wladimir J. van der Laan
1a2de3237f
Merge pull request #6412
d422f9b Test whether created sockets are select()able (Pieter Wuille)
2015-07-20 16:54:28 +02:00
Wladimir J. van der Laan
dc51608c9c
Merge pull request #6447
2cb8ee9 remove unused inv from ConnectTip() (Pavel Vasin)
2015-07-20 16:43:07 +02:00
UdjinM6
753297ea99 drop -masternodeminprotocol/nMasternodeMinProtocol, use masternodePayments.GetMinMasternodePaymentsProto() 2015-07-20 08:03:36 +03:00
UdjinM6
5f9c676e05 fix condition for a recent block in mn sync 2015-07-20 04:54:03 +03:00
UdjinM6
b1f19c7e82 process checks we can without waiting for full sync 2015-07-20 04:54:02 +03:00
UdjinM6
4bcd548b62 slightly refactor 2015-07-20 04:54:02 +03:00
UdjinM6
86c869137f fixes for sync 2015-07-20 04:54:02 +03:00
UdjinM6
dba572ac96 use specific protocols 2015-07-20 04:54:02 +03:00
Evan Duffield
e6327e5546 Disable coinbase payee cache 2015-07-19 17:06:52 -07:00
Evan Duffield
57df98b38a Force chain reprocess on load for coinbase-payee index 2015-07-19 15:40:40 -07:00
Evan Duffield
e1279ebf1d Reprocess best chain for coinbase payee on each block 2015-07-19 11:19:11 -07:00
Evan Duffield
60f7428585 Disabled coinpayee cleanup 2015-07-19 10:56:45 -07:00
Evan Duffield
9668befdf4 Dont ask for mnb of known masternodes 2015-07-19 09:38:23 -07:00
Evan Duffield
c95111476c vesion bump 2015-07-19 08:51:02 -07:00
Evan Duffield
898fbcae02 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-19 08:50:01 -07:00
Evan Duffield
9c34930680 Disable nDos on early ping / sync regtest changes 2015-07-19 08:49:46 -07:00
Evan Duffield
143c80789c rebuild index when switching chains 2015-07-19 06:45:35 -07:00
Evan Duffield
2e6eb9f2b6 incremental update of coinbase cache 2015-07-19 06:28:23 -07:00
crowning-
19d698529e UI: Persist Darksend+InstantX settings (Cut'n'paste error fixed) 2015-07-19 14:42:38 +02:00
crowning-
c8c83af2f5 UI: Persist Darksend+InstantX settings and default to Darksend=false on first start (revert screen-size change) 2015-07-19 14:29:18 +02:00
crowning-
63c8ae1516 UI: Persist Darksend+InstantX settings and default to Darksend=false on first start 2015-07-19 14:25:55 +02:00
Simon Males
0ef9858707 Documenting pruned, pruneheight and softforks in getblockchaininfo 2015-07-19 14:07:35 +02:00
Evan Duffield
9a4914e6c1 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-18 12:52:23 -07:00
Evan Duffield
e82e5339f9 Better NewBlock sync check 2015-07-18 12:52:12 -07:00
evan82
e2257c844b Merge pull request #440 from UdjinM6/v0.12.0.x_rpc_masternode
V0.12.0.x few small masternode rpc fixes
2015-07-18 12:34:53 -07:00
Evan Duffield
841c7c270b version/proto bump 2015-07-18 12:29:19 -07:00
Evan Duffield
7aa9676118 Only check vote sigs once / payee cache update on newblock 2015-07-18 12:24:06 -07:00
UdjinM6
27dd4ccf06 move only 2015-07-18 22:17:17 +03:00
UdjinM6
a3dfd86058 Code cleanups for masternode rpc
- drop boost/lexical_cast
- drop c_str() where applicable
- slightly prettify descriptions and some output
2015-07-18 21:20:22 +03:00
UdjinM6
aa96d701af tabs to spaces 2015-07-18 20:40:19 +03:00
Evan Duffield
90f508c67e Pay masternodes when no valid budget 2015-07-18 08:53:40 -07:00
Evan Duffield
956d85c59b Change variable naming for rpc commands
- Added MonthlyPayment and TotalPayment
2015-07-18 08:48:44 -07:00
zathras-crypto
0aad1f13b2
Exempt unspendable transaction outputs from dust checks
Since unspendable outputs can't be spent, there is no threshold at which it would be uneconomic to spend them.

This primarily targets transaction outputs with `OP_RETURN`.

---

Initially based on:

commit 9cf0ae26350033d43d5dd3c95054c0d1b1641eda
Author: zathras-crypto <zathrasc@gmail.com>
Date:   Wed Mar 25 02:04:02 2015 -0700

Changes:

- cherry-picked on top of bitcoin:master
- added RPC test for fundrawtransaction
2015-07-18 17:31:55 +02:00
Evan Duffield
637805b2de Require 7 confirmations for finalized budget 2015-07-18 07:49:39 -07:00
Evan Duffield
853863ae86 Only check budget block payees after sync is complete 2015-07-18 06:46:54 -07:00
Wladimir J. van der Laan
ec249d4a1d util: use locale-independent parsing in ParseDouble
Use locale-indepent C++ based parsing instead of C's strtod,
which checks for different input based on the user's locale.
Fixes #6443.
2015-07-18 09:04:18 +02:00
Wladimir J. van der Laan
7650449a67 univalue: Avoid unnecessary roundtrip through double for numbers
JSON makes no distinction between numbers and reals, and our code
doesn't need to do so either.

This removes VREAL, as well as its specific post-processing in
`UniValue::write`. Non-monetary amounts do not need to be forcibly
formatted with 8 decimals, so the extra roundtrip was unnecessary
(and potentially loses precision).
2015-07-18 09:04:18 +02:00
Wladimir J. van der Laan
e061e2778d rpc: Make ValueFromAmount always return 8 decimals
This is the format that was always returned to JSON clients.
The difference was not noticed before, because VREAL values
are post-processed by univalue.

By implementing the functionality directly it breaks the dependency
of rpcserver on utilmoneystr. FormatMoney is now only used for debugging
purposes.

To test, port over the formatting tests from util_tests.cpp to
rpc_tests.cpp.
2015-07-18 09:03:59 +02:00
Evan Duffield
f9e2b18e57 version bump 2015-07-17 21:38:56 -07:00
Evan Duffield
916deaa398 Small syncing improvement 2015-07-17 21:38:15 -07:00
evan82
494afeef50 Merge pull request #439 from UdjinM6/v0.12.0.x_revert_lower_fee
V0.12.0.x revert attempts to lower fee
2015-07-17 20:15:04 -07:00
evan82
45cd565f6c Merge pull request #438 from UdjinM6/v0.12.0.x_register_MN
V0.12.0.x more checks on MN register (start-many/alias)
2015-07-17 20:14:49 -07:00