Commit Graph

2972 Commits

Author SHA1 Message Date
UdjinM6
38ccfef3be
Identify PS collateral payments in transaction list a bit more accurate (#2271)
This have to be updated due to new rules for PS collateral - we allow OP_RETURN outputs and "non-exact" inputs (1x<=X<2x) now.
2018-09-11 17:31:18 +03:00
UdjinM6
b164bcc7a5
Split PS into Manager and Session and allow running multiple mixing sessions in parallel (client side) (#2203)
* Split PS into Manager and Session

* Adjust log messages accordingly

* add -privatesendsessions cmd-line option

* address review comments

* bump MAX_OUTBOUND_MASTERNODE_CONNECTIONS to 30

+10 for parallel mixing

* protect vecSessions

* constructors

* Rewrite CMasternodeMan::ProcessMasternodeConnections() to use CPrivateSendClientManager::GetMixingMasternodesInfo().

This should solve potential deadlock cs_vecqueue vs cs_vNodes.

* Drop no longer used IsMixingMasternode()

* lock cs_wallet when mixing uses balance related functions
2018-09-04 13:54:59 +03:00
Alexander Block
9e8a867149 Implementation of deterministic MNs list 2018-08-30 19:47:48 +02:00
Alexander Block
c9a72e8880 Introduce CEvoDB for all evo related things, e.g. DIP3
Also add transaction handling to ConnectTip and DisconnectTip and a few
other places where blocks are processed.
2018-08-30 19:47:22 +02:00
Alexander Block
d946f21bd9 Masternode related refactorings in preparation of DIP3 (#2212)
* Split CActiveMasternode into CActiveMasternodeInfo and CLegacyActiveMasternodeManager

* Use CKeyID instead of CPubKey whenever possible in masternode code

* Rename activeMasternode to activeMasternodeInfo and make it a struct

* Rename pubKeyIDXXX to keyIDXXX

* Bump SERIALIZATION_VERSION_STRING

* Fix build error after rebase

* Fix compilation warning/error with clang
2018-08-11 22:55:56 +03:00
strophy
d4d11476aa Fix typo and grammar in PS error message (#2199)
* Fix typo

* Grammar fix
2018-08-04 16:38:57 +03:00
UdjinM6
6bcd868de7
Fix lockedByInstantSend initialization (#2197) 2018-07-29 09:39:37 +03:00
gladcow
0a6f47323b Remove dummy confirmations in RPC API and GUI for InstantSend transactions (#2040)
* remove instandsenddepth option

* remove CInstantSend::GetConfirmations

* Explicit IXlocks processing in the code using GetDepthInMainChain

* remove dummy confirmations for IX locks

* remove unused constant

* Track IS status in TransactionStatus

* Highlight IS in tx list

* Customize confirmation icons for IS txes

* Fix issues:

- bring back removed comment;
- simplify 2 complex condition to ose `IsTrusted()` function only;
- rename `IsLockedIX` function to 'IsLockedByInstantSend`;

* Revert condition with IsTrusted()

* code style fix

* remove dummy confirmations from instantsend.md

* fix instantsend.md
2018-07-28 19:39:37 +03:00
PaulieD
d7e2103411 Fixes inaccurate round count in CoinControlDialog (#2137)
* fixes #2068

* Revert prior and update in correct location
2018-07-16 15:48:02 +03:00
strophy
df1be90ce1 Update links to obsolete documentation (#2162)
* Update links to obsolete documentation

* Change link text
2018-07-12 12:07:17 +03:00
PaulieD
448e92f4aa GetOutPointPrivateSendRounds readability (#2149)
* .gitnore visual studio bs

* Improves the readability of the `GetOutpointPrivateSendRounds` function by not having the second argument be needed, as the second arg should only not be 0 when it is recursively calling itself

* Revert ".gitnore visual studio bs"

This reverts commit 129b5242ad.

* changed back comment and fixed allignment

* refactor based on Udjin's suggestions.

* refactor based on Udjin's suggestions.

* fix alignment

* Revert "fix alignment"

This reverts commit c2cc2ae531.

* actually fix alignment

* actually fix alignment
2018-07-12 12:05:39 +03:00
UdjinM6
3c89983db6
Remove DarksendConfig (#2132) 2018-07-12 12:03:26 +03:00
PaulieD
43091a3efd PrivateSend Enhancement: Up default round count to 4 and allow user to mix up to 16 rounds (#2128)
* Allows a user to mix up to 16 rounds

All codebase appears to accept up to 16 rounds, however this form was capped at 8; restricting users to 2-8 rounds. This commit allows a user to actually use up to 16 rounds in practice. This will greatly enhance the privacy of those very worried about their privacy, as well as possibly increasing liquidity and increasing the privacy of all users.

* Up the default for PS mixing to 4 rounds.
2018-07-12 12:02:51 +03:00
UdjinM6
7b9919d182
Fix issues with selections on Masternode tab (#2170)
Preserve selection on "My Masternodes" sub-tab, disable selections on "All Masternodes" sub-tab.
2018-07-08 00:20:15 +03:00
PaulieD
c4698d5f3d Make PS Buttons not react to spacebar (#2154)
* Make the togglePrivateSend button not react to the spacebar or enter. #1766

* redo comment

* change `privateSendAuto` focus policy to remain consistent
2018-07-08 00:18:29 +03:00
UdjinM6
7ab5b4a28e
Update/optimize images (#2147)
* update optimize-pngs.py with new paths

* `python contrib/devtools/optimize-pngs.py`

Total reduction: 22025 bytes

* update share/pixmaps/*
2018-06-29 01:22:48 +03:00
UdjinM6
5669fc880e
Fix typos and rpc help text (#2120)
* Fix typo in PS info dialog

Also adjust translations accordingly.

* Fix typo in PS low key warning

* Fix typo in sendrawtransaction help

* Fix sendtoaddress/sendmany help text

* Fix listreceivedby* help text

* Fix typo in listunspent help

* Fix spelling "recieves"->"receives"

Shame on me

* transactions->transaction

* receives->"incoming payments grouped"
2018-06-18 19:07:09 +03:00
Semen Martynov
0a71c693e7 Remove explicit wallet lock in MasternodeList::StartAll() (#2106)
Possible fix #2104
2018-06-11 13:14:00 +03:00
UdjinM6
9299a84b1f
Bump few consts (#2096)
* bump BLOCK_CHAIN_SIZE

* bump nMinBlocksToStore default
2018-06-06 10:59:25 +03:00
Nathan Marley
82805a6c69 swap out old logo for T&C logo in Qt GUI (#2081)
* Qt: rename light theme to light-retro

* add new light theme with new logo images

* revert changes to light.css

* Qt: rename light-hires theme to light-hires-retro

* copy, not move

* restore light-hires.css

* all links updated from light to light-retro

* revert rm trailing spaces in src/qt/guiutil.cpp

* all links updated from light-hires to light-hires-retro
2018-05-29 18:13:08 +03:00
UdjinM6
febdc2116c
Fix nl locale alias (#2061) 2018-05-13 23:57:43 +03:00
UdjinM6
741b94875b
Translations201804 (#2012)
* fix doc

* fix string in masternode list

* make translate

* fix askpassphrasedialog.cpp

* ru

* add fr and sk

* 	add fi

* update fi

* update ru

* it, pl, zh_TW

Note: zh_TW has one issue: `Mismatch between 'Too many %f denominations, removing.' and '太多輸入金額,正在移除。'`

* add/update bg, de, fi, it, vi, zh_CN, zh_TW

* add nl

* update es

* add pt_BR (97.5%)
2018-04-30 01:10:20 +03:00
Nathan Marley
8e24b087b4 replace boost iterators in dash-specific code (#2048) 2018-04-23 13:25:04 +03:00
UdjinM6
b07503f013
Some cleanup (mostly trivial) (#2038)
* Drop CInstantSend::IsEnoughOrphanVotesForTxAndOutPoint

* small cleanup in rpc tests

* move some pieces from .h to .cpp

* fix few log outputs

* fix some comments

* some trivial fixes + readability
2018-04-20 13:53:23 +03:00
UdjinM6
72a225b9bf
Few fixes for lite mode (#2014)
* Allow disabling txindex in lite mode

* Do not load/store Dash-specific cache in lite mode

* Do not create/show masternode tab in lite mode

* Do not connect PS actions in lite mode

* Fix sync/ignore block updates in Dash submodules in lite mode
2018-03-29 18:08:00 +03:00
UdjinM6
b7bd96e2bb
Clarify the warning displayed when encrypting HD wallet (#2002)
* Clarify the warning displayed when encrypting HD wallet

* `dashs` -> `funds`
2018-03-21 14:08:55 +03:00
UdjinM6
f28a58e0a9
Refactor and fix restart (#1999)
* Refactor restart

* Correctly interrupt all threads on restart

Fixes the issue with restart when running with `-server`
2018-03-19 16:09:47 +03:00
UdjinM6
ddff32b96a
Fix TransactionRecord::PrivateSendMakeCollaterals tx type (#1996)
CPrivateSendClient::MakeCollateralAmounts() creates inputs of exactly CPrivateSend::GetMaxCollateralAmount()
2018-03-19 16:09:13 +03:00
UdjinM6
6536003528
Draw text on top of everything else in TrafficGraphWidget (#1944) 2018-03-10 15:34:50 +03:00
crowning-
118eeded6d [GUI] Create QR-code for Masternode private key (#1970) 2018-03-08 15:17:34 +03:00
UdjinM6
ef9a9f2d67
Fix unlocking error on "Start Mixing" (#1941)
* Fix unlocking error on "Start Mixing"

Instead warn that wallet is fully unlocked etc.

* Revert "Fix unlocking error on "Start Mixing""

This reverts commit 4951e58f66.

* Drop mixingOnlyCheckBox and determine the correct unlock path automatically via provided mode
2018-02-22 12:00:50 +03:00
Alexander Block
0abd1894ee Call CheckMnbAndUpdateMasternodeList when starting MN (#1945)
* Call CheckMnbAndUpdateMasternodeList when when starting MN

Otherwise the invoking node won't have nCollateralMinConfBlockHash
updated correctly, resulting in the MN showing up in the wrong position
when masternode ranks are calculated.

* Remove UpdateMasternodeList and remaining uses of it
2018-02-21 19:32:51 +03:00
UdjinM6
e23f61822d
Make TrafficGraphDataTests more general (#1943) 2018-02-21 19:32:35 +03:00
UdjinM6
5b1c4d8a11
Few (mostly trivial) cleanups and fixes (#1940)
* Drop nBudgetProposalEstablishingTime

* Refactor: replace `== COutPoint()` with `.IsNull()`

* Refactor: add `operator bool()` to CMasternodePing

* Refactor: actually use `operator bool()` for CPendingDsaRequest

* Refactor: fixing code style in TrafficGraphData

* Fix some comments and whitespaces

* Drop CGovernanceVote::GetTypeHash()

* Drop legacy X11 code

No longer used... if it ever was used at all.

* Move `<boost/foreach.hpp>` out of coins.h

* Simplify CMasternodeBlockPayees::GetRequiredPaymentsString()

Also less of boost::lexical_cast

* Drop CTxDSIn::nSentTimes

* Fix few warnings

* fix warning (timer)

* fix nit
2018-02-21 19:32:08 +03:00
gladcow
2ea6f7d82e Use override keyword for overriden class member functions (#1644)
* Use `override` keyword for all overriden functions

* more override
2018-02-15 10:29:15 +03:00
UdjinM6
9f2467af8a
Hide autocompleter on Enter/Return key (#1898) 2018-02-06 20:24:37 +03:00
UdjinM6
a7fa07a30e
Drop BOOST_FOREACH and use references in loops (const ref where applicable, Dash code only) (#1899)
* Drop BOOST_FOREACH in Dash-specific code (only), no changes in behavior

* Use references in loops (use const references where applicable) in Dash-specific code (only)

And adjust related code to make it compilable.

* Loop through nodes via connman.ForEachNode in dsq Relay instead of creating a copy
2018-02-06 14:09:33 +03:00
Jonas Schnelli
f1ec8c9fa1 Merge #10008: [trivial] Fix a typo (introduced two days ago) in the default fee warning
a3ca43b [trivial] Fix a typo (introduced two days ago) in the default fee warning (practicalswift)

Tree-SHA512: b88bb45cb0cbe7f0b0c1dd5d573dad36f3915b1ddde58c9b29806544c832c4a2c0a7994080a57682684f1dea0a02d5367aed8ccbee331dbc40c45948392e0f3d
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
539cf5c178 Merge #9481: [Qt] Show more significant warning if we fall back to the default fee
7abe7bb Qt/Send: Give fallback fee a reasonable indent (Luke Dashjr)
3e4d7bf Qt/Send: Figure a decent warning colour from theme (Luke Dashjr)
c5adf8f [Qt] Show more significant warning if we fall back to the default fee (Jonas Schnelli)

Tree-SHA512: 9e85b5b398d7a49aaf6c42578d63750b1b7aa9cc9e84d008fe21d6c53f1ffe2fb69286a1a764e634ebca3286564615578eea0a1bc883e4b332be8306d9883d14
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
fb6992de5d Merge #10176: net: gracefully handle NodeId wrapping
c851be4 net: define NodeId as an int64_t (Cory Fields)

Tree-SHA512: 2ccc931cfcdc555313b9434d8de2f6cea759b31891212ca62f962208f60157d4fc593010e3ca61265d1a20d6f78c6ca79103600b85df77983d5509d192875b96
2018-01-26 12:59:29 +01:00
Jonas Schnelli
b018751852 Merge #10060: [Qt] Ensure an item exists on the rpcconsole stack before adding
4df76e2 Ensure an item exists on the rpcconsole stack before adding (Andrew Chow)

Tree-SHA512: f3fd5e70da186949aff794f6e2ba122da2145331212dcc5e0595285bee9dc3aa6b400b15e8eeec4476099965b74f46c4ef80f8ed1e05d490580167b002b9a5e7
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
0a6f63bb24 Merge #9817: Fix segfault crash when shutdown the GUI in disablewallet mode
312c4f1 Fix segfault crash when shutdown the GUI in disablewallet mode (Jonas Schnelli)
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
5e596423a4 Merge #9785: Avoid variable length arrays
c801c82 Move BIP70_MAX_PAYMENTREQUEST_SIZE to header (Pieter Wuille)
914fad1 Make KEY_SIZE a compile-time constant (Pieter Wuille)
2018-01-26 12:59:29 +01:00
UdjinM6
054abdbfa4
Merge pull request #1867 from codablock/pr_backport_bitcoin_0.14-10
Backport missing PRs from Bitcoin 0.14 - Part 10
2018-01-26 14:55:56 +03:00
UdjinM6
88646bd0d0
Rename fMasterNode to fMasternodeMode to clarify its meaning and to avoid confusion with CNode::fMasternode (#1874) 2018-01-26 04:11:01 +03:00
Wladimir J. van der Laan
136d8606c8 Merge #9758: Selectively suppress deprecation warnings
4b6cccc Selectively suppress deprecation warnings (Jonas Schnelli)
2018-01-23 09:24:29 +01:00
Wladimir J. van der Laan
f2b5560083 Merge #9553: Use z = std::max(x - y, 0) instead of z = x - y; if (z < 0) z = 0;
a47da4b Use z = std::max(x - y, 0); instead of z = x - y; if (z < 0) z = 0; (practicalswift)
2018-01-23 09:24:29 +01:00
Jonas Schnelli
132edbda8c Merge #9755: Bugfix: Qt/Options: Restore persistent "restart required" notice
0b4f273 Bugfix: Qt/Options: Restore persistent "restart required" notice (Luke Dashjr)
2018-01-23 09:24:28 +01:00
Wladimir J. van der Laan
f1f4e25d60 Merge #9718: Qt/Intro: Various fixes
a9baa6d Bugfix: Qt/Intro: Pruned nodes never require *more* space (Luke Dashjr)
93ffba7 Bugfix: Qt/Intro: Chain state needs to be stored even with the full blockchain (Luke Dashjr)
c8cee26 Qt/Intro: Update block chain size (Luke Dashjr)
2018-01-23 09:24:28 +01:00
Wladimir J. van der Laan
81eeb0dee7 Merge #9651: Fix typos
5f62e3e Fix typos (practicalswift)
2018-01-23 09:24:27 +01:00
Alexander Block
86753a890d Add spaces around + in updateGlobalFeeVariables 2018-01-21 14:14:34 +01:00
MarcoFalke
660c027cd5 Merge #9510: [trivial] Fix typos in comments
cc16d99 [trivial] Fix typos in comments (practicalswift)
2018-01-21 12:48:34 +01:00
Wladimir J. van der Laan
007dc59762 Merge #9637: [Qt] fix transaction details output-index to reflect vout index
04b8773 [Qt] fix transaction details output-index to reflect vout index (Jonas Schnelli)
2018-01-21 12:48:34 +01:00
Wladimir J. van der Laan
c431a7f07a trivial: squash missing field 'argNames' initializer warning in qt tests
The additional initializer is for the named arguments, which are unused
in the test (and unfilled global fields will be initialized to 0
anyhow), so this is a no-op apart from the warning.
2018-01-21 12:48:33 +01:00
Wladimir J. van der Laan
40dff103de Merge #9380: Separate different uses of minimum fees
eb30d1a Introduce -dustrelayfee (Alex Morcos)
7b1add3 Introduce -incrementalrelayfee (Alex Morcos)
daec955 Introduce -blockmintxfee (Alex Morcos)
2018-01-21 12:48:32 +01:00
Wladimir J. van der Laan
658479355e Merge #9472: Disentangle progress estimation from checkpoints and update it
df36371 Update estimated transaction count data (Pieter Wuille)
e356d9a Shorten variable names and switch to tx/s (Pieter Wuille)
6dd8116 Remove SIGCHECK_VERIFICATION_FACTOR (Pieter Wuille)
3641141 Move tx estimation data out of CCheckPointData (Pieter Wuille)
a4bac66 [MOVEONLY] Move progress estimation out of checkpoints (Pieter Wuille)
2018-01-21 12:48:32 +01:00
Alexander Block
4f39a090bd Fix remaining direct uses of mapArgs 2018-01-18 07:38:58 +01:00
MarcoFalke
0dabb80ab5 Merge #9496: Rename lambda argument name to prevent shadowing
7df5e38 Rename lambda argument name to prevent shadowing. (Pavel Janík)
2018-01-18 07:38:23 +01:00
Pieter Wuille
17e51db71f Merge #9408: Allow shutdown during LoadMempool, dump only when necessary
325e400 [Qt] Do proper shutdown (Jonas Schnelli)
9479f8d Allow shutdown during LoadMempool, dump only when necessary (Jonas Schnelli)
2018-01-18 07:38:23 +01:00
Jonas Schnelli
9e62719ccf Merge #9413: [CoinControl] Allow non-wallet owned change addresses
54f8026 [CoinControl] Allow non-wallet owned change addresses (Jonas Schnelli)
2018-01-18 07:33:44 +01:00
Wladimir J. van der Laan
35f3f7aad9 Merge #9475: Let autoconf detect presence of EVP_MD_CTX_new
0388afe Let autoconf detect presence of EVP_MD_CTX_new (Luke Dashjr)
2018-01-18 07:33:44 +01:00
MarcoFalke
f89a5c78dc Merge #9470: qt: Set (count) placeholder in sendcoinsdialog to notranslate
388ea19 qt: Set (count) placeholder in sendcoinsdialog to notranslate (Wladimir J. van der Laan)
2018-01-18 07:33:43 +01:00
Wladimir J. van der Laan
71a490e0f8 Merge #9462: [qt] Do not translate tilde character
fab6c5f [qt] Do not translate `~` (MarcoFalke)
2018-01-18 07:33:43 +01:00
Jonas Schnelli
1d83352dad Merge #8877: Qt RPC console: history sensitive-data filter, and saving input line when browsing history
8562792 GUI/RPCConsole: Include importmulti in history sensitive-command filter (Luke Dashjr)
ff77faf Qt/RPCConsole: Use RPCParseCommandLine to perform command filtering (Luke Dashjr)
a79598d Qt/Test: Make sure filtering sensitive data works correctly in nested commands (Luke Dashjr)
629cd42 Qt/RPCConsole: Teach RPCParseCommandLine how to filter out arguments to sensitive commands (Luke Dashjr)
e2d9213 Qt/RPCConsole: Make it possible to parse a command without executing it (Luke Dashjr)
1755c04 Qt/RPCConsole: Truncate filtered commands to just the command name, rather than skip it entirely in history (Luke Dashjr)
d80a006 Qt/RPCConsole: Add signmessagewithprivkey to list of commands filtered from history (Luke Dashjr)
afde12f Qt/RPCConsole: Refactor command_may_contain_sensitive_data function out of RPCConsole::on_lineEdit_returnPressed (Luke Dashjr)
de8980d Bugfix: Do not add sensitive information to history for real (Luke Dashjr)
9044908 Qt/RPCConsole: Don't store commands with potentially sensitive information in the history (Jonas Schnelli)
fc95daa Qt/RPCConsole: Save current command entry when browsing history (Jonas Schnelli)
2018-01-18 07:33:42 +01:00
Pieter Wuille
aff4b6d2c5 Merge #9243: Clean up mapArgs and mapMultiArgs Usage
c2f61be Add a ForceSetArg method for testing (Matt Corallo)
4e04814 Lock mapArgs/mapMultiArgs access in util (Matt Corallo)
4cd373a Un-expose mapArgs from utils.h (Matt Corallo)
71fde55 Get rid of mapArgs direct access in ZMQ construction (Matt Corallo)
0cf86a6 Introduce (and use) an IsArgSet accessor method (Matt Corallo)
2b5f085 Fix non-const mapMultiArgs[] access after init. (Matt Corallo)
c8042a4 Remove arguments to ParseConfigFile (Matt Corallo)
2018-01-18 07:31:23 +01:00
Wladimir J. van der Laan
dcc9dffae9 Merge #9236: Fix races for strMiscWarning and fLargeWork*Found, make QT runawayException use GetWarnings
749be01 Move GetWarnings() into its own file. (Gregory Maxwell)
e3ba0ef Eliminate data races for strMiscWarning and fLargeWork*Found. (Gregory Maxwell)
c63198f Make QT runawayException call GetWarnings instead of directly access strMiscWarning. (Gregory Maxwell)
2018-01-18 07:31:22 +01:00
Wladimir J. van der Laan
6e11b14913 Merge #9329: [Qt] Console: allow empty arguments
390bd14 [Qt] Console: don't allow empty arguments when using the comma-syntax (Jonas Schnelli)
6a32c0f Qt/Test: Check handling of empty arguments in RPC debug console (Luke Dashjr)
89c8d2c [Qt] Console: allow empty arguments (Jonas Schnelli)
2018-01-18 07:31:22 +01:00
Wladimir J. van der Laan
5c860b3477 Merge #9330: [Qt] Console: add security warning
ed6b377 [Qt] Console: add security warning (Jonas Schnelli)
2018-01-17 17:31:12 +01:00
Wladimir J. van der Laan
0982d6d3c8 Merge #9305: Refactor: Removed begin/end_ptr functions.
8c1dbc5 Refactor: Removed begin/end_ptr functions. (Karl-Johan Alm)
2018-01-17 17:31:12 +01:00
Wladimir J. van der Laan
63d610d13a Merge #9296: Fix missed change to WalletTx structure
28f8ae8 Fix missed change to WalletTx structure (Alex Morcos)
2018-01-17 17:31:12 +01:00
Alexander Block
45ea6ba4dc Fix invalid cast to CTransaction* in WalletModelTransaction
CWalletTx/CMerkleTx does not derive from CTransaction anymore.
This code is different in Bitcoin as it was touched by SegWit code,
resulting in an upfront fix.
2018-01-17 17:30:38 +01:00
Wladimir J. van der Laan
525c049316 Merge #8580: Make CTransaction actually immutable
81e3228 Make CTransaction actually immutable (Pieter Wuille)
42fd8de Make DecodeHexTx return a CMutableTransaction (Pieter Wuille)
c3f5673 Make CWalletTx store a CTransactionRef instead of inheriting (Pieter Wuille)
a188353 Switch GetTransaction to returning a CTransactionRef (Pieter Wuille)
2018-01-17 17:30:38 +01:00
Wladimir J. van der Laan
a95622c0b0 Merge #9239: Disable fee estimates for 1 block target
e878689 Make GUI incapable of setting tx confirm target of 1 (Alex Morcos)
d824ad0 Disable fee estimates for a confirm target of 1 block (Alex Morcos)
2018-01-17 17:30:38 +01:00
Pieter Wuille
b07393709e Merge #9010: Split up AppInit2 into multiple phases, daemonize after datadir lock errors
deec83f init: Get rid of fServer flag (Wladimir J. van der Laan)
16ca0bf init: Try to aquire datadir lock before and after daemonization (Wladimir J. van der Laan)
0cc8b6b init: Split up AppInit2 into multiple phases (Wladimir J. van der Laan)
2018-01-17 17:27:24 +01:00
MarcoFalke
df24dfd4bc Merge #9233: Fix some typos
15fa95d Fix some typos (fsb4000)
2018-01-17 17:27:24 +01:00
Alexander Block
e02f313471 Mogrify and optimize network_disabled.png and copy it to all themes
Bitcoin #9145 made the icon 50% opaque, copy that to all themes.
2018-01-15 06:51:53 +01:00
Jonas Schnelli
507c4e5246 Merge #9185: [Qt] fix coincontrol sort issue
4231032 [Qt] Clean up and fix coincontrol tree widget handling (Wladimir J. van der Laan)
76af4eb [Qt] fix coincontrol sort issue (Jonas Schnelli)
2018-01-15 06:14:16 +01:00
Jonas Schnelli
2b99a4b4e8 Merge #9145: [qt] Make network disabled icon 50% opaque
fa42e4a [qt] Make network disabled icon 50% opaque (MarcoFalke)
2018-01-15 06:14:15 +01:00
Wladimir J. van der Laan
19a2d668cf Merge #9039: Various serialization simplifcations and optimizations
d59a518 Use fixed preallocation instead of costly GetSerializeSize (Pieter Wuille)
25a211a Add optimized CSizeComputer serializers (Pieter Wuille)
a2929a2 Make CSerAction's ForRead() constexpr (Pieter Wuille)
a603925 Avoid -Wshadow errors (Pieter Wuille)
5284721 Get rid of nType and nVersion (Pieter Wuille)
657e05a Make GetSerializeSize a wrapper on top of CSizeComputer (Pieter Wuille)
fad9b66 Make nType and nVersion private and sometimes const (Pieter Wuille)
c2c5d42 Make streams' read and write return void (Pieter Wuille)
50e8a9c Remove unused ReadVersion and WriteVersion (Pieter Wuille)
2018-01-15 06:14:15 +01:00
Jonas Schnelli
2342b2ac00 Merge #9094: qt: Use correct conversion function for boost::path datadir
e760b30 qt: Use correct conversion function for boost::path datadir (Wladimir J. van der Laan)
2018-01-15 06:13:44 +01:00
Alexander Block
fc95cbb49f Use nPowTargetSpacing in SendCoinsDialog::updateGlobalFeeVariables 2018-01-14 14:12:30 +01:00
Wladimir J. van der Laan
9d661f4337 Merge #8675: Make copyright header lines uniform
4b04e32 [copyright] copyright header style uniform (isle2983)
2018-01-13 13:44:39 +01:00
Jonas Schnelli
b2229356b5 Merge #9043: [qt] Return useful error message on ATMP failure
3333e5a [qt] Return useful error message on ATMP failure (MarcoFalke)
2018-01-13 13:44:38 +01:00
Wladimir J. van der Laan
77b888a069 Merge #8989: [Qt] overhaul smart-fee slider, adjust default confirmation target
cfe77ef [Qt] overhaul smart-fee slider, adjust default confirmation target (Jonas Schnelli)
6f02899 [Qt] Hide nTxConfirmTarget behind WalletModel (Jonas Schnelli)
004168d CoinControl: add option for custom confirmation target (Jonas Schnelli)
2018-01-13 13:44:38 +01:00
Wladimir J. van der Laan
848f3389b4 Merge #9016: Return useful error message on ATMP failure
169bdab Return useful error message on ATMP failure (instagibbs)
2018-01-13 13:44:38 +01:00
Wladimir J. van der Laan
beef6e7841 Merge #8990: moveonly: move coincontrol to src/wallet
1ae5839 moveonly: move `coincontrol` to `src/wallet` (Wladimir J. van der Laan)
2018-01-13 13:44:37 +01:00
Jonas Schnelli
bd8e9fbba3 Merge #8774: Qt refactors to better abstract wallet access
178cd88 Qt/splash: Specifically keep track of which wallet(s) we are connected to for later disconnecting (Luke Dashjr)
1880aeb Qt: Get the private key for signing messages via WalletModel (Luke Dashjr)
2018-01-13 13:44:37 +01:00
Wladimir J. van der Laan
dd6b9ad20f Merge #8788: [RPC] Give RPC commands more information about the RPC request
e7156ad [RPC] pass HTTP basic authentication username to the JSONRequest object (Jonas Schnelli)
69d1c25 [RPC] Give RPC commands more information about the RPC request (Jonas Schnelli)
23c32a9 rpc: Change JSONRPCRequest to JSONRPCRequestObj (Wladimir J. van der Laan)
2018-01-13 13:44:37 +01:00
Wladimir J. van der Laan
fb8d46d44b Merge #8879: [doc] Rework docs
eeeebdd [doc] Rework docs (MarcoFalke)
2018-01-12 09:57:56 +01:00
Wladimir J. van der Laan
14483e46f9 Merge #8856: Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs
3450c18 Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgs (Jorge Timón)
2018-01-12 09:57:56 +01:00
Wladimir J. van der Laan
575f625f4d Merge #8658: Remove unused statements in serialization
64d9507 [WIP] Remove unused statement in serialization (Pavel Janík)
2018-01-12 09:56:53 +01:00
Alexander Block
faf52c5908 Fix rpcnestedtests
Use correct genesis transaction hash
2018-01-11 14:24:14 +01:00
Wladimir J. van der Laan
18218aa3c2 Merge #8802: Fix future copyright year
edeaf24 Fix future copyright year (Mitchell Cash)
2018-01-11 13:22:22 +01:00
Wladimir J. van der Laan
c7a0b91d31 Merge #8793: Do not shadow in src/qt
f839350 Do not shadow in src/qt (Pavel Janík)
2018-01-11 13:22:22 +01:00
Wladimir J. van der Laan
bfa539a1dd Merge #8777: [qt] WalletModel: Expose disablewallet
6666ca6 [qt] WalletModel: Expose disablewallet (MarcoFalke)
2018-01-11 13:22:21 +01:00
Wladimir J. van der Laan
06f41f3586 Merge #8768: init: Get rid of fDisableWallet
fa58edb [wallet] Introduce DEFAULT_DISABLE_WALLET (MarcoFalke)
fab9107 init: Get rid of fDisableWallet (MarcoFalke)
2018-01-11 13:22:17 +01:00
Wladimir J. van der Laan
387201712a Merge #7783: [Qt] RPC-Console: support nested commands and simple value queries
1586044 [Qt] RPC-Console: support nested commands and simple value queries (Jonas Schnelli)
2018-01-11 13:20:57 +01:00
Wladimir J. van der Laan
a5a9e46042 Merge #8700: [copyright] add MIT license headers to .sh scripts where missing
0766d1c [copyright] add MIT license headers to .sh scripts where missing (isle2983)
2018-01-11 13:20:57 +01:00
Wladimir J. van der Laan
2a13321ffc Merge #8742: Specify Protobuf version 2 in paymentrequest.proto
c4084c2 Specify Protobuf version 2 in paymentrequest.proto (fanquake)
2018-01-11 13:19:32 +01:00
Wladimir J. van der Laan
b00f025dd8 Merge #8583: Show XTHIN in GUI
4c3e2cb Show XTHIN in GUI (R E Broadley)
2018-01-09 14:04:20 +01:00
Alexander Block
e2a795fd84 Return EXIT_SUCCESS instead of 0 in main() 2018-01-08 18:41:25 +01:00
Alexander Block
ae90d0f09e Align HD wallet status icon code with Bitcoin code
Rename labelEncryptionIcon to labelWalletEncryptionIcon
Reorder icons in Makefile.qt.include
Add missing entries in debian/copyright
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
80573f2bf4 Merge #8540: qt: Fix random segfault when closing "Choose data directory" dialog
b4a9aa5 qt: Fix random segfault when closing "Choose data directory" dialog (Wladimir J. van der Laan)
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
d5b5aeefe3 Merge #8481: Qt: Fix minimize and close bugs
05242e9 Fix minimize and close bugs (adlawren)
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
e7da254c5e Merge #8407: [Qt] Add dbcache migration path
893f379 [Qt] Add dbcache migration path (Jonas Schnelli)
2018-01-08 18:04:55 +01:00
Alexander Block
f8a7a2c88d Move bitcoin.ico/png and bitcoin_testnet.ico/png one dir up
This also overwrites/dashifies icons/bitcoin_testnet.ico which was
introduced in Bitcoin #8285.

The icons were previously located in the drkblue theme directory while the
path used in dash.qrc was poining to the non-theme icons directory. Also,
the icons were never ported to the other themes. This commit moves them one
level up until someone actually ports these to the other themes (if ever
needed).
2017-12-28 11:44:59 +01:00
Jonas Schnelli
25627e31dd Merge #8288: qt: Network-specific example address
4f44cb6 qt: Network-specific example address (Wladimir J. van der Laan)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
dcf36df675 Merge #8285: windows: Add testnet link to installer
975a41d windows: Add testnet icon for testnet link (Wladimir J. van der Laan)
0ce8e99 windows: Add testnet link to installer (Wladimir J. van der Laan)
2017-12-28 11:44:59 +01:00
Jonas Schnelli
ba6b369781 Merge #8281: qt: Remove client name from debug window
a7897c0 qt: Remove client name from debug window (Wladimir J. van der Laan)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
3f7273d009 Merge #8256: BUG: bitcoin-qt crash
d7828ab check that transactionView->selectionModel()->selectedRows(0) exists (fsb4000)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
68757db683 Merge #8210: [Qt] Bump to Qt5.6.1
2759597 Only pass -lQt5PlatformSupport if >=Qt5.6 (Jonas Schnelli)
59d063d Use runtime linking of QT libdbus, use custom/temp. SDK URL (Jonas Schnelli)
6194d9a Fix bitcoin_qt.m4 and fix-xcb-include-order.patch (Jonas Schnelli)
f6eb4e2 [depends] OpenSSL 1.0.1k - update config_opts (fanquake)
f25209a depends: bump OSX toolchain (Cory Fields)
2017-12-28 11:44:59 +01:00
Jonas Schnelli
96180a1896 Merge #7636: Add bitcoin address label to request payment QR code
1c2a1ba Add address label to request payment QR Code (QT) (Francesco 'makevoid' Canessa)
2017-12-28 11:44:59 +01:00
Alexander Block
4bce3bf8b2 Fix crash on exit when -createwalletbackups=0 (#1810) 2017-12-27 20:41:04 +03:00
UdjinM6
af1233cb48
Merge pull request #1804 from codablock/pr_backport_bitcoin_0.13-4
Backport missing PRs from Bitcoin 0.13 - Part 4
2017-12-22 17:21:33 +03:00
Alexander Block
b1df5e9e87 Align sorting in OverviewPage::SetupTransactionList with transaction view 2017-12-22 06:03:27 +01:00
Pieter Wuille
8723f99569 Merge #8061: [Wallet] Improve Wallet encapsulation
380498a Move BackupWallet to CWallet::BackupWallet (Patrick Strateman)
ecb9741 Move GetAccountBalance from rpcwallet.cpp into CWallet::GetAccountBalance (Patrick Strateman)
2017-12-21 18:50:14 +01:00
Jonas Schnelli
3f5be563f4 Merge #8014: Qt: Sort transactions by date
2d5603c Qt: Sort transactions by date (Tyler Hardin)
2017-12-21 18:50:13 +01:00
Jonas Schnelli
262e857db9 Merge #8012: Qt: Delay user confirmation of send
3902a29 Qt: Delay user confirmation of send (Tyler Hardin)
2017-12-21 18:50:13 +01:00
UdjinM6
3110f7ebdd
Fix issues introduced in 1770 (#1803) 2017-12-21 19:58:38 +03:00
Wladimir J. van der Laan
c8bb792f41 Merge #7939: qt: Make it possible to show details for multiple transactions
f135e3c qt: Add transaction hash to details window title (Wladimir J. van der Laan)
17a6a21 qt: Make it possible to show details for multiple transactions (Wladimir J. van der Laan)
2017-12-20 17:25:03 +01:00
Alexander Block
cd9c6994c2 Implement named devnets (#1791)
* Initial devnet

* Move genesis block adding into its own method

* Introduce -allowprivatenet to lift limitation on RFC1918 addresses

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

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

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

* Implement named devnets

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

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

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

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

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

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

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

* Remove unused/unneeded scripts from devnet geneses creation

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

* Fix copy/paste error in -allowprivatenet description

* Improve -devnet parameter error handling

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

* Use different datadir for each devnet

* Fix `devnet-devnet` issue

* Fix devnet splashscreen (should use testnet img)

* Avoid passing devNetName around (most of the time)

* Remove nMaxTipAge from CDevNetParams

Not present anymore after rebase on develop
2017-12-20 14:45:01 +03:00
Wladimir J. van der Laan
18da34e295 Merge #7761: [Qt] remove trailing output-index from transaction-id
7d5e31a [Qt] remove trailing output-index from transaction-id (Jonas Schnelli)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
721171ee39 Merge #7686: [qt] Remove 0-fee from send dialog
fae8467 [qt] Remove unneeded "fSendFreeTransactions" check (MarcoFalke)
fa48bb3 [qt] Remove 0-fee from send dialog (MarcoFalke)
2017-12-19 12:55:49 +01:00
UdjinM6
d6a0de72ad fix splashscreen (shrink titleCopyrightVSpace) 2017-12-11 18:54:10 +01:00
UdjinM6
af5aece96b make CopyrightHolders more generic 2017-12-11 18:54:01 +01:00
Wladimir J. van der Laan
e7a6f79e5a Merge #7192: Unify product name to as few places as possible
027fdb8 When/if the copyright line does not mention Bitcoin Core developers, add a second line to copyrights in -version, About dialog, and splash screen (Luke Dashjr)
cc2095e Rewrite FormatParagraph to handle newlines within input strings correctly (Luke Dashjr)
cddffaf Bugfix: Include COPYRIGHT_HOLDERS_SUBSTITUTION in Makefile substitutions so it gets passed to extract-strings correctly (Luke Dashjr)
29598e4 Move PACKAGE_URL to configure.ac (Luke Dashjr)
78ec83d splashscreen: Resize text to fit exactly (Luke Dashjr)
3cae140 Bugfix: Actually use _COPYRIGHT_HOLDERS_SUBSTITUTION everywhere (Luke Dashjr)
4d5a3df Bugfix: gitian-descriptors: Add missing python-setuptools requirement for OS X (biplist module) (Luke Dashjr)
e4ab5e5 Bugfix: Correct copyright year in Mac DMG background image (Luke Dashjr)
917b1d0 Set copyright holders displayed in notices separately from the package name (Luke Dashjr)
c39a6ff Travis & gitian-osx: Use depends for ds_store and mac_alias modules (Luke Dashjr)
902ccde depends: Add mac_alias to depends (Luke Dashjr)
82a2d98 depends: Add ds_store to depends (Cory Fields)
de619a3 depends: Pass PYTHONPATH along to configure (Cory Fields)
e611b6e macdeploy: Use rsvg-convert rather than cairosvg (Luke Dashjr)
63bcdc5 More complicated package name substitution for Mac deployment (Luke Dashjr)
1a6c67c Parameterise 2009 in translatable copyright strings (Luke Dashjr)
d5f4683 Unify package name to as few places as possible without major changes (Luke Dashjr)
2017-12-11 08:30:26 +01:00
Wladimir J. van der Laan
2fd5d93a92 Merge #7437: GUI: Disable tab navigation for peers tables.
8b3d8e3 GUI: Disable tab navigation for peers tables. (Kefkius)
2017-12-11 08:08:48 +01:00
Wladimir J. van der Laan
5323a08afa Merge #7300: [trivial] Add missing copyright headers
fabcee1 Remove copyright header from autogenerated chainparamsseeds.h (MarcoFalke)
fa60d05 Add missing copyright headers (MarcoFalke)
fa7e4c0 Bump copyright headers to 2014 (MarcoFalke)
2017-12-11 08:08:48 +01:00
Jonas Schnelli
43700eef36 Merge #7383: [Qt] rename "amount" to "requested amount" in receive coins table
df6e8e1 [Qt] rename "amount" to "requested amount" in receive coins table (Jonas Schnelli)
2017-12-10 00:04:02 +01:00
Wladimir J. van der Laan
5ca9b1a9c3 Merge pull request #7317
8a7f000 [RPC] remove the option of having multiple timer interfaces (Jonas Schnelli)
db198d5 Fix RPCTimerInterface ordering issue Dispatching a QThread from a non Qt thread is not allowed. Always use the HTTPRPCTimerInterface (non QT) to dispatch RPCRunLater threads. (Jonas Schnelli)
2017-12-10 00:04:01 +01:00
UdjinM6
7e96af4e65
Refactor PrivateSend (#1735)
* make infoMixingMasternode private

* move PS queue entries expiration checks (and cs_darksend) to CPrivateSendBase

* drop CTxDSOut

* move prevPubKey out of CTxIn into CTxDSIn and use CTxDSIn explicitly

* drop CPrivateSendClient::NewBlock

* move IsDenominatedAmount to CPrivateSend

* move IsCollateralAmount to CPrivateSend

* drop darksend-relay.cpp/h

* drop GetMasternodeByRank
2017-12-04 09:06:07 +03:00
UdjinM6
c166ed39b0
Allow compilation with --disable-wallet (#1733)
* Allow compilation with `--disable-wallet`

* fix remaining references

* Drop wallet references/include in CActiveMasternode and fix other files affected by this change

* Wrap privatesend-client.h include with ifdef/endif and fix other files affected by this change

* Re-enable Travis build with no wallet

reverts 267e57877b
2017-12-01 21:53:34 +03:00
UdjinM6
70cb2a4af5
Fix traditional UI theme (#1741)
* fix traditional UI theme

* Fix Send dialog (PS/IS/Balance)
2017-12-01 08:14:39 +03:00
UdjinM6
e975f891c8
Fix ru typo (#1742) 2017-11-30 00:45:12 +03:00
UdjinM6
89f326c6da Merge branch 'master' into develop 2017-11-12 19:18:08 +03:00
UdjinM6
2144dae915
Add hires version of light theme for Hi-DPI screens (#1712) 2017-11-03 16:50:54 +03:00
Wladimir J. van der Laan
1a9add78c9 Merge #10660: Allow to cancel the txdb upgrade via splashscreen keypress 'q'
542ce6e Report [CANCELLED] instead of [DONE] when shut down during txdb upgrade (Jonas Schnelli)
83fbea3 Report txdb upgrade not more often then every 10% (Jonas Schnelli)
06c5b6e Show txdb upgrade progress in debug log (Jonas Schnelli)
316fcb5 Allow to cancel the txdb upgrade via splashscreen callback (Jonas Schnelli)
ae09d45 Allow to shut down during txdb upgrade (Jonas Schnelli)
00cb69b [Qt] allow to execute a callback during splashscreen progress (Jonas Schnelli)

Tree-SHA512: 23190f23f441bfd60821e49f8b3698a6bef97eb0e0ee659328e4a7395769ecd1616420eacc38aa1fa0ff62b9de5f13a0098dc798cdec6bff649575cefebc0db2
2017-10-31 21:19:11 +01:00
Pieter Wuille
c81394b975 Merge #10195: Switch chainstate db and cache to per-txout model
589827975 scripted-diff: various renames for per-utxo consistency (Pieter Wuille)
a5e02bc7f Increase travis unit test timeout (Pieter Wuille)
73de2c1ff Rename CCoinsCacheEntry::coins to coin (Pieter Wuille)
119e552f7 Merge CCoinsViewCache's GetOutputFor and AccessCoin (Pieter Wuille)
580b02309 [MOVEONLY] Move old CCoins class to txdb.cpp (Pieter Wuille)
8b25d2c0c Upgrade from per-tx database to per-txout (Pieter Wuille)
b2af357f3 Reduce reserved memory space for flushing (Pieter Wuille)
41aa5b79a Pack Coin more tightly (Pieter Wuille)
97072d668 Remove unused CCoins methods (Pieter Wuille)
ce23efaa5 Extend coins_tests (Pieter Wuille)
508307968 Switch CCoinsView and chainstate db from per-txid to per-txout (Pieter Wuille)
4ec0d9e79 Refactor GetUTXOStats in preparation for per-COutPoint iteration (Pieter Wuille)
13870b56f Replace CCoins-based CTxMemPool::pruneSpent with isSpent (Pieter Wuille)
05293f3cb Remove ModifyCoins/ModifyNewCoins (Pieter Wuille)
961e48397 Switch tests from ModifyCoins to AddCoin/SpendCoin (Pieter Wuille)
8b3868c1b Switch CScriptCheck to use Coin instead of CCoins (Pieter Wuille)
c87b957a3 Only pass things committed to by tx's witness hash to CScriptCheck (Matt Corallo)
f68cdfe92 Switch from per-tx to per-txout CCoinsViewCache methods in some places (Pieter Wuille)
000391132 Introduce new per-txout CCoinsViewCache functions (Pieter Wuille)
bd83111a0 Optimization: Coin&& to ApplyTxInUndo (Pieter Wuille)
cb2c7fdac Replace CTxInUndo with Coin (Pieter Wuille)
422634e2f Introduce Coin, a single unspent output (Pieter Wuille)
7d991b55d Store/allow tx metadata in all undo records (Pieter Wuille)
c3aa0c119 Report on-disk size in gettxoutsetinfo (Pieter Wuille)
d34242430 Remove/ignore tx version in utxo and undo (Pieter Wuille)
7e0032290 Add specialization of SipHash for 256 + 32 bit data (Pieter Wuille)
e484652fc Introduce CHashVerifier to hash read data (Pieter Wuille)
f54580e7e error() in disconnect for disk corruption, not inconsistency (Pieter Wuille)
e66dbde6d Add SizeEstimate to CDBBatch (Pieter Wuille)

Tree-SHA512: ce1fb1e40c77d38915cd02189fab7a8b125c7f44d425c85579d872c3bede3a437760997907c99d7b3017ced1c2de54b2ac7223d99d83a6658fe5ef61edef1de3
2017-10-31 21:19:11 +01:00
Alexander Block
d23adcc0f1 Merge #10231: [Qt] Reduce a significant cs_main lock freeze (#1704)
4082fb0 Add missing <atomic> header in clientmodel.h (Jonas Schnelli)
928d4a9 Set both time/height header caches at the same time (Jonas Schnelli)
610a917 Declare headers height/time cache mutable, re-set the methods const (Jonas Schnelli)
cf92bce Update the remaining blocks left in modaloverlay at init. (Jonas Schnelli)
7148f5e Reduce cs_main locks during modal overlay by adding an atomic cache (Jonas Schnelli)

Tree-SHA512: a92ca22f90b8b2a5e8eb94fdce531ef44542e21a8dbbb0693f7723d7018592cb68de687a2a0aac91d31cbf019793f8e922550656d2b130ed3d854d60630341db
2017-10-31 23:14:19 +03:00
UdjinM6
14d11e4a8a
Translations 201710 part2 (#1676)
* fix ru

* updating bg, fr, sk, zh_TW

* update fi, pl, zh_TW

* update pl
2017-10-31 17:50:28 +03:00
UdjinM6
673e161d5d
fix trafficgraphdatatests for qt4 (#1699) 2017-10-31 17:46:24 +03:00
UdjinM6
f5286b1799 Fix/optimize images (#1688)
* add Dash-specific paths to `folders` in optimize-pngs.py

* `mogrify src/qt/res/*/*/*.png`

should fix "libpng error: IDAT: chunk data is too large"

* `python contrib/devtools/optimize-pngs.py`

"Total reduction: 500275 bytes"
2017-10-17 19:41:28 +03:00
Holger Schinzel
58f9f9bbec Facelift of splash screens, adding "Digital Cash" tagline (#1674)
* Facelift of splash screens, adding "Digital Cash" tagline

* testnet: green --> orange

* revert drkblue changes
2017-10-12 15:05:00 +03:00
UdjinM6
296cfd2efa Fix compilation with qt < 5.2 (#1672)
* Fix compilation with qt < 5.2

* remove code duplication
2017-10-09 21:25:11 +03:00
UdjinM6
11afd7cfd3 Translations201710 - en, de, fi, fr, ru, vi (#1659)
* fix "InstantSend: Yes/No" in receiving request dlg

* [qt] Add more sources to translate

backport fae26e8dfc

* fix .pro

* fix typo: memonic -> mnemonic

* fix "s(s)"

* `make translate` + qt linguist

* update ru

* update fi

* update de

* update fr

* update vi

* fix ru

* fix de
2017-10-09 21:24:42 +03:00
UdjinM6
f77efcf247 do not calculate stuff that are not going to be visible in simple PS UI anyway (#1656) 2017-09-27 20:43:28 +03:00
crowning-
08e503da28 [GUI] Change look of modaloverlay (#1653)
* [GUI] Change look of modaloverlay

* Update crownium.css

Copy'n'paste error removed
2017-09-25 17:16:48 +03:00
diego-ab
026ad8421a Fix empty tooltip during sync under specific conditions (#1637)
* Fix empty tooltip during sync under specific conditions

* Move IsBlockchainSynced check
2017-09-19 17:52:10 +03:00
Oleg Girko
753b1e486b Eliminate remaining uses of g_connman in Dash-specific code. (#1635)
This monstrous change eliminates all remaining uses of
g_connman global variable in Dash-specific code.

Unlike previous changes eliminating g_connman use
that were isolated to particular modules, this one covers
multiple modules simultaneously because they are so interdependent
that change in one module was quickly spreading to others.

This is mostly invariant change that was done by
* changing all functions using g_connman to use connman argument,
* changing all functions calling these functions to use connman argument,
* repeating previous step until there's nothing to change.

After multiple iterations, this process converged to final result,
producing code that is mostly equivalent to original one, but passing
CConnman instance through arguments instead of global variable.

The only exception to equivalence of resulting code is that I had to
create overload of CMasternodeMan::CheckAndRemove() method without arguments
that does nothing just for use in CFlatDB<CMasternodeMan>::Dump() and
CFlatDB<CMasternodeMan>::Load() methods.
Normal CMasternodeMan::CheckAndRemove() overload now has argument of
CConnman& type and is used everywhere else.

The normal overload has this code in the beginning:

    if(!masternodeSync.IsMasternodeListSynced()) return;

Masternode list is not synced yet when we load "mncache.dat" file,
and we save "mncache.dat" file on shutdown, so I presume that it's OK
to use overload that does nothing in both cases.

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2017-09-19 17:51:38 +03:00
UdjinM6
84ecccefce InstandSend overhaul (#1592)
* InstandSend overhaul
- relay conflicting votes to detect attack earlier and PoSe-ban attacking masternode(s)
- cancel conflicting completed locks
- do not overwrite mempool or reprocess blocks
- 15 sec timeout/window to lock tx

* check nValueIn for SPORK_5_INSTANTSEND_MAX_VALUE (instead of nValueOut)

* relay valid vote asap

* ignore votes for spent coins, consider them invalid
2017-09-14 14:41:40 +03:00
krychlicki
6ff7b7aa54 fix TrafficGraphData bandwidth calculation (#1618)
* recalculate average bandwidth for given range

* tests for bandwidth calculation
2017-09-12 17:33:48 +03:00
UdjinM6
05da4557d0 Refactor masternode management (#1611)
* Store masternodes in a map instead of a vector, drop unused functions in CMasternodeMan

* CTxIn vin -> COutPoint outpoint

* do not use CMasternodeMan::Find outside of the class

* update GetMasternodeInfo

* safe version of GetNextMasternodeInQueueForPayment

* fix ProcessMasternodeConnections

* bump CMasternodeMan::SERIALIZATION_VERSION_STRING
2017-09-11 17:13:48 +03:00
Alexander Block
91d99fcd3f Backport Bitcoin Qt/Gui changes up to 0.14.x part 3 (#1617)
* Merge #8996: Network activity toggle

19f46f1 Qt: New network_disabled icon (Luke Dashjr)
54cf997 RPC/Net: Use boolean consistently for networkactive, and remove from getinfo (Luke Dashjr)
b2b33d9 Overhaul network activity toggle (Jonas Schnelli)
32efa79 Qt: Add GUI feedback and control of network activity state. (Jon Lund Steffensen)
e38993b RPC: Add "togglenetwork" method to toggle network activity temporarily (Jon Lund Steffensen)
7c9a98a Allow network activity to be temporarily suspended. (Jon Lund Steffensen)

* Revert on-click behavior of network status icon to showing peers list

Stay with the way Dash handled clicking on the status icon

* Add theme support for network disabled icon

* Merge #8874: Multiple Selection for peer and ban tables

1077577 Fix auto-deselection of peers (Andrew Chow)
addfdeb Multiple Selection for peer and ban tables (Andrew Chow)

* Merge #9190: qt: Plug many memory leaks

ed998ea qt: Avoid OpenSSL certstore-related memory leak (Wladimir J. van der Laan)
5204598 qt: Avoid shutdownwindow-related memory leak (Wladimir J. van der Laan)
e4f126a qt: Avoid splash-screen related memory leak (Wladimir J. van der Laan)
693384e qt: Prevent thread/memory leak on exiting RPCConsole (Wladimir J. van der Laan)
47db075 qt: Plug many memory leaks (Wladimir J. van der Laan)

* Merge #9218: qt: Show progress overlay when clicking spinner icon

042f9fa qt: Show progress overlay when clicking spinner icon (Wladimir J. van der Laan)
827d9a3 qt: Replace NetworkToggleStatusBarControl with generic ClickableLabel (Wladimir J. van der Laan)

* Merge #9266: Bugfix: Qt/RPCConsole: Put column enum in the right places

df17fe0 Bugfix: Qt/RPCConsole: Put column enum in the right places (Luke Dashjr)

* Merge #9255: qt: layoutAboutToChange signal is called layoutAboutToBeChanged

f36349e qt: Remove on_toggleNetworkActiveButton_clicked from RPCConsole (Wladimir J. van der Laan)
297cc20 qt: layoutAboutToChange signal is called layoutAboutToBeChanged (Wladimir J. van der Laan)

* Use UniValue until bitcoin PR #8788 is backported

Network active toggle was already based on
"[RPC] Give RPC commands more information about the RPC request"
We need to use the old UniValue style until that one is backported

* Merge #8906: [qt] sync-overlay: Don't show progress twice

fafeec3 [qt] sync-overlay: Don't show progress twice (MarcoFalke)

* Merge #8985: Use pindexBestHeader instead of setBlockIndexCandidates for NotifyHeaderTip()

3154d6e [Qt] use NotifyHeaderTip's height and date for the progress update (Jonas Schnelli)
0a261b6 Use pindexBestHeader instead of setBlockIndexCandidates for NotifyHeaderTip() (Jonas Schnelli)

* Merge #9280: [Qt] Show ModalOverlay by pressing the progress bar, allow hiding

89a3723 [Qt] Show ModalOverlay by pressing the progress bar, disabled show() in sync mode (Jonas Schnelli)

* Merge #9461: [Qt] Improve progress display during headers-sync and peer-finding

40ec7c7 [Qt] Improve progress display during headers-sync and peer-finding (Jonas Schnelli)

* Merge #9588: qt: Use nPowTargetSpacing constant

fa4d478 qt: Use nPowTargetSpacing constant (MarcoFalke)

* Hide modal overlay forever when syncing has catched up

Don't allow to open it again by clicking on the progress bar and spinner
icon. Currently the overlay does not show meaningful information about
masternode sync and it gives the impression of being stuck after the block
chain sync is done.

* Don't include chainparams.h in sendcoinsdialog.cpp

This was just a remainder of a backported PR which meant to change some
calculation in this file which does not apply to Dash.

* Also check for fNetworkActive in ConnectNode

* Merge #9528: [qt] Rename formateNiceTimeOffset(qint64) to formatNiceTimeOffset(qint64)

988d300 [qt] Rename formateNiceTimeOffset(qint64) to formatNiceTimeOffset(qint64) (practicalswift)

* Merge #11237: qt: Fixing division by zero in time remaining

c8d38abd6 Refactor tipUpdate as per style guide (MeshCollider)
3b69a08c5 Fix division by zero in time remaining (MeshCollider)

Pull request description:

  Fixes https://github.com/bitcoin/bitcoin/issues/10291, https://github.com/bitcoin/bitcoin/issues/11265

  progressDelta may be 0 (or even negative according to 11265), this checks for that and prints unknown if it is, because we cannot calculate an estimate for the time remaining (would be infinite or negative).

Tree-SHA512: bc5708e5ed6e4670d008219558c5fbb25709bd99a32c98ec39bb74f94a0b7fa058f3d03389ccdd39e6723e6b5b48e34b13ceee7c051c2db631e51d8ec3e1d68c
2017-09-11 16:38:14 +03:00
Alexander Block
9707ca5cea Backport Bitcoin Qt/Gui changes up to 0.14.x part 2 (#1615)
* Merge #7506: Use CCoinControl selection in CWallet::FundTransaction

d6cc6a1 Use CCoinControl selection in CWallet::FundTransaction (João Barbosa)

* Merge #7732: [Qt] Debug window: replace "Build date" with "Datadir"

fc737d1 [Qt] remove unused formatBuildDate method (Jonas Schnelli)
4856f1d [Qt] Debug window: replace "Build date" with "Datadir" (Jonas Schnelli)

* Merge #7707: [RPC][QT] UI support for abandoned transactions

8efed3b [Qt] Support for abandoned/abandoning transactions (Jonas Schnelli)

* Merge #7688: List solvability in listunspent output and improve help

c3932b3 List solvability in listunspent output and improve help (Pieter Wuille)

* Merge #8006: Qt: Add option to disable the system tray icon

8b0e497 Qt: Add option to hide the system tray icon (Tyler Hardin)

* Merge #8073: qt: askpassphrasedialog: Clear pass fields on accept

02ce2a3 qt: askpassphrasedialog: Clear pass fields on accept (Pavel Vasin)

* Merge #8231: [Qt] fix a bug where the SplashScreen will not be hidden during startup

b3e1348 [Qt] fix a bug where the SplashScreen will not be hidden during startup (Jonas Schnelli)

* Merge #8257: Do not ask a UI question from bitcoind

1acf1db Do not ask a UI question from bitcoind (Pieter Wuille)

* Merge #8463: [qt] Remove Priority from coincontrol dialog

fa8dd78 [qt] Remove Priority from coincontrol dialog (MarcoFalke)

* Merge #8678: [Qt][CoinControl] fix UI bug that could result in paying unexpected fee

0480293 [Qt][CoinControl] fix UI bug that could result in paying unexpected fee (Jonas Schnelli)

* Merge #8672: Qt: Show transaction size in transaction details window

c015634 qt: Adding transaction size to transaction details window (Hampus Sjöberg)
 \-- merge fix for s/size/total size/
fdf82fb Adding method GetTotalSize() to CTransaction (Hampus Sjöberg)

* Merge #8371: [Qt] Add out-of-sync modal info layer

08827df [Qt] modalinfolayer: removed unused comments, renamed signal, code style overhaul (Jonas Schnelli)
d8b062e [Qt] only update "amount of blocks left" when the header chain is in-sync (Jonas Schnelli)
e3245b4 [Qt] add out-of-sync modal info layer (Jonas Schnelli)
e47052f [Qt] ClientModel add method to get the height of the header chain (Jonas Schnelli)
a001f18 [Qt] Always pass the numBlocksChanged signal for headers tip changed (Jonas Schnelli)
bd44a04 [Qt] make Out-Of-Sync warning icon clickable (Jonas Schnelli)
0904c3c [Refactor] refactor function that forms human readable text out of a timeoffset (Jonas Schnelli)

* Merge #8805: Trivial: Grammar and capitalization

c9ce17b Trivial: Grammar and capitalization (Derek Miller)

* Merge #8885: gui: fix ban from qt console

cb78c60 gui: fix ban from qt console (Cory Fields)

* Merge #8821: [qt] sync-overlay: Don't block during reindex

fa85e86 [qt] sync-overlay: Don't show estimated number of headers left (MarcoFalke)
faa4de2 [qt] sync-overlay: Don't block during reindex (MarcoFalke)

* Support themes for new transaction_abandoned icon

* Fix constructor call to COutput

* Merge #7842: RPC: do not print minping time in getpeerinfo when no ping received yet

62a6486 RPC: do not print ping info in getpeerinfo when no ping received yet, fix help (Pavel Janík)

* Merge #8918: Qt: Add "Copy URI" to payment request context menu

21f5a63 Qt: Add "Copy URI" to payment request context menu (Luke Dashjr)

* Merge #8925: qt: Display minimum ping in debug window.

1724a40 Display minimum ping in debug window. (R E Broadley)

* Merge #8972: [Qt] make warnings label selectable (jonasschnelli)

ef0c9ee [Qt] make warnings label selectable (Jonas Schnelli)

* Make background of warning icon transparent in modaloverlay

* Merge #9088: Reduce ambiguity of warning message

77cbbd9 Make warning message about wallet balance possibly being incorrect less ambiguous. (R E Broadley)

* Replace Bitcoin with Dash in modal overlay

* Remove clicked signals from labelWalletStatus and labelTransactionsStatus

As both are really just labels, clicking on those is not possible.
This is different in Bitcoin, where these labels are actually buttons.

* Pull out modaloverlay show/hide into it's own if/else block and switch to time based check

Also don't use masternodeSync.IsBlockchainSynced() for now as it won't
report the blockchain being synced before the first block (or other MN
data?) arrives. This would otherwise give the impression that sync is
being stuck.
2017-09-09 10:04:02 +03:00
Alexander Block
690cb58f80 Backport Bitcoin Qt/Gui changes up to 0.14.x part 1 (#1614)
* Merge pull request #7154

a3c3ddb [Qt] add InMempool() info to transaction details (Jonas Schnelli)

* Merge pull request #7218

fa5769e [qt] Fix misleading translation (MarcoFalke)
fa8c8d7 torcontrol debug: Change to a blanket message that covers both cases (MarcoFalke)

* Merge pull request #7255

6fd0a07 Remove hardcoded fee from CoinControl ToolTip (fanquake)
5fdf32d Replace some instances of formatWithUnit with formatHtmlWithUnit (fanquake)

* Merge pull request #7263

a5a0831 Double semicolon cleanup. (21E14)

* Merge pull request #7334

fa989fb [qt] coincontrol workaround is still needed in qt5.4 (fixed in qt5.5) (MarcoFalke)

* Merge pull request #7329

9d263bd Typo fixes in comments (Chris Wheeler)

* Merge #7396: [Qt] Add option to increase/decrease font size in the console window

43abb02 [Qt] Add a new chevron/arrow icon for the console prompt line (Jonas Schnelli)
56c9e66 [Qt] keep scroll position in GUI console after changing font size (Jonas Schnelli)
3a3a927 [Qt] Add option to increase/decrease font size in the console window (Jonas Schnelli)

* Merge #7628: QT: Add 'copy full transaction details' option

b51ed40 QT: Add 'copy full transaction details' option (Eric Shaw)

* Merge #7668: Fix history deletion bug after font size change

21e45a0 Fix history deletion bug after font change (Andrew C)

* Copy/Move font size related icons into theme folders

* Use formatTxDate for date/time in TxPlainTextRole
2017-09-07 18:59:00 +03:00
Oleg Girko
b82b9787d2 Backport Bitcoin PR#8128: Net: Turn net structures into dumb storage classes (#1604)
* net: Split resolving out of CNetAddr

* net: Split resolving out of CService

* net: Split resolving out of CSubNet

* net: move CNetAddr/CService/CSubNet out of netbase

* net: narrow include scope after moving to netaddress

Net functionality is no longer needed for CAddress/CAddrman/etc. now that
CNetAddr/CService/CSubNet are dumb storage classes.

* net: Add direct tests for new CSubNet constructors

* net: Have LookupNumeric return a CService directly

Also fix up a few small issues:
- Lookup with "badip:port" now sets the port to 0
- Don't allow assert to have side-effects

* net: fixup nits
2017-09-03 16:29:10 +03:00
Oleg Girko
c56ba56e79 net: Consistently use GetTimeMicros() for inactivity checks (#1588)
The use of mocktime in test logic means that comparisons between
GetTime() and GetTimeMicros()/1000000 are unreliable since the former
can use mocktime values while the latter always gets the system clock;
this changes the networking code's inactivity checks to consistently
use the system clock for inactivity comparisons.

Also remove some hacks from setmocktime() that are no longer needed,
now that we're using the system clock for nLastSend and nLastRecv.
2017-08-24 02:38:29 +03:00
Oleg Girko
df6d458b85 Backport Bitcoin PR#9260: Mrs Peacock in The Library with The Candlestick (killed main.{h,cpp}) (#1566)
* Remove orphan state wipe from UnloadBlockIndex.

As orphan state is now "network state", like in
d6ea737be1,

UnloadBlockIndex is only used during init if we end up reindexing
to clear our block state so that we can start over. However, at
that time no connections have been brought up as CConnman hasn't
been started yet, so all of the network processing state logic is
empty when its called.

* Move network-msg-processing code out of main to its own file

* Rename the remaining main.{h,cpp} to validation.{h,cpp}
2017-08-09 03:19:06 +03:00
UdjinM6
8b7dffbb64 Update startup shortcuts (#1551) 2017-07-25 13:58:27 +03:00
Oleg Girko
a9d771e497 Backport Bitcoin PR#8085: p2p: Begin encapsulation (#1537)
* net: move CBanDB and CAddrDB out of net.h/cpp

This will eventually solve a circular dependency

* net: Create CConnman to encapsulate p2p connections

* net: Move socket binding into CConnman

* net: move OpenNetworkConnection into CConnman

* net: move ban and addrman functions into CConnman

* net: Add oneshot functions to CConnman

* net: move added node functions to CConnman

* net: Add most functions needed for vNodes to CConnman

* net: handle nodesignals in CConnman

* net: Pass CConnection to wallet rather than using the global

* net: Add rpc error for missing/disabled p2p functionality

* net: Pass CConnman around as needed

* gui: add NodeID to the peer table

* net: create generic functor accessors and move vNodes to CConnman

* net: move whitelist functions into CConnman

* net: move nLastNodeId to CConnman

* net: move nLocalHostNonce to CConnman

This behavior seems to have been quite racy and broken.

Move nLocalHostNonce into CNode, and check received nonces against all
non-fully-connected nodes. If there's a match, assume we've connected
to ourself.

* net: move messageHandlerCondition to CConnman

* net: move send/recv statistics to CConnman

* net: move SendBufferSize/ReceiveFloodSize to CConnman

* net: move nLocalServices/nRelevantServices to CConnman

These are in-turn passed to CNode at connection time. This allows us to offer
different services to different peers (or test the effects of doing so).

* net: move semOutbound and semMasternodeOutbound to CConnman

* net: SocketSendData returns written size

* net: move max/max-outbound to CConnman

* net: Pass best block known height into CConnman

CConnman then passes the current best height into CNode at creation time.

This way CConnman/CNode have no dependency on main for height, and the signals
only move in one direction.

This also helps to prevent identity leakage a tiny bit. Before this change, an
attacker could theoretically make 2 connections on different interfaces. They
would connect fully on one, and only establish the initial connection on the
other. Once they receive a new block, they would relay it to your first
connection, and immediately commence the version handshake on the second. Since
the new block height is reflected immediately, they could attempt to learn
whether the two connections were correlated.

This is, of course, incredibly unlikely to work due to the small timings
involved and receipt from other senders. But it doesn't hurt to lock-in
nBestHeight at the time of connection, rather than letting the remote choose
the time.

* net: pass CClientUIInterface into CConnman

* net: Drop StartNode/StopNode and use CConnman directly

* net: Introduce CConnection::Options to avoid passing so many params

* net: add nSendBufferMaxSize/nReceiveFloodSize to CConnection::Options

* net: move vNodesDisconnected into CConnman

* Made the ForEachNode* functions in src/net.cpp more pragmatic and self documenting

* Convert ForEachNode* functions to take a templated function argument rather than a std::function to eliminate std::function overhead

* net: move MAX_FEELER_CONNECTIONS into connman
2017-07-21 12:35:19 +03:00
Oleg Girko
5a1961e5e3 Backport Bitcoin PR#7906: net: prerequisites for p2p encapsulation changes (#1521)
* net: don't import std namespace

This file is about to be broken up into chunks and moved around. Drop the
namespace now rather than requiring other files to use it.

* net: remove unused set

* net: use the exposed GetNodeSignals() rather than g_signals directly

* net: make Ban/Unban/ClearBan functionality consistent

- Ban/Unban/ClearBan call uiInterface.BannedListChanged() as necessary
- Ban/Unban/ClearBan sync to disk if the operation is user-invoked
- Mark node for disconnection automatically when banning
- Lock cs_vNodes while setting disconnected
- Don't spin in a tight loop while setting disconnected

* net: No need to export DumpBanlist
2017-07-12 04:20:12 +03:00
Oleg Girko
9268a336dd Backport Bitcoin PR#7917: Optimize reindex (#1515)
* Make ProcessNewBlock dbp const and update comment

* Switch reindexing to AcceptBlock in-loop and ActivateBestChain afterwards

* Optimize ActivateBestChain for long chains

* Add -reindex-chainstate that does not rebuild block index

* Report reindexing progress in GUI
2017-07-10 17:41:14 +03:00
Oleg Girko
b0843c397c Backport Bincoin PR#7348: MOVE ONLY: move rpc* to rpc/ + same for Dash-specific rpc (#1502) 2017-07-03 16:13:34 +03:00
UdjinM6
029ee64948 split CPrivateSend (#1492)
* split CPrivateSend:
- common client/server base data structures/functions: CPrivateSendBase
- singleton-like helper: CPrivateSend

* GetCollateralAmount(), more of GetSmallestDenomination()

* refactor GetDSTX

* remove excessive static_cast<bool>

* bring back LOCK(cs_mapdstx) :)

* address review comments

* fix bool operator
2017-06-30 21:30:16 +03:00
Spencer Lievens
72fbfe93d8 Icon Cutoff Fix (#1485)
This will prevent the cutoff of the connections icon when using this theme.
2017-06-06 02:47:36 +03:00
UdjinM6
2daea77a5b fix calculation of (unconfirmed) anonymizable balance (#1477)
* fix calculation of (unconfirmed) anonymizable balance

* store cache with the same param combination as in use
2017-06-06 02:47:12 +03:00
UdjinM6
27f3218de9 HD wallet (#1405)
* HD wallet

Minimal set of changes (no refactoring) backported from Bitcoin upstream to make HD wallets work in Dash 0.12.1.x+

* minimal bip44 (hardcoded account and change)

* minimal bip39

Additional cmd-line options for new wallet:
-mnemonic
-mnemonicpassphrase

* Do not recreate HD wallet on encryption

Adjusted keypool.py test

* Do not store any private keys for hd wallet besides the master one

Derive all keys on the fly.
Original idea/implementation - btc PR9298, backported and improved

* actually use bip39

* pbkdf2 test

* backport wallet-hd.py test

* Allow specifying hd seed, add dumphdseed rpc, fix bugs

- -hdseed cmd-line param to specify HD seed on wallet creation
- dumphdseed rpc to dump HD seed
- allow seed of any size
- fix dumpwallet rpc bug (wasn't decrypting HD seed)
- print HD seed and extended public masterkey on dumpwallet

* top up keypool on HD wallet encryption

* split HD chain: external/internal

* add missing cs_wallet lock in init.cpp

* fix `const char *` issues (use strings)

* default mnemonic passphrase is an empty string in all cases

* store mnemonic/mnemonicpassphrase

replace dumphdseed with dumphdinfo

* Add fCrypted flag to CHDChain

* prepare internal structures for multiple HD accounts

(plus some code cleanup)

* use secure allocator for storing sensitive HD data

* use secure strings for mnemonic(passphrase)

* small fix in GenerateNewHDChain

* use 24 words for mnemonic by default

* make sure mnemonic passphrase provided by user does not exceed 256 symbols

* more usage of secure allocators and memory_cleanse

* code cleanup

* rename: CSecureVector -> SecureVector

* add missing include

* fix warning in rpcdump.cpp

* refactor mnemonic_check (also fix a bug)

* move bip39 functions to CMnemonic

* Few fixes for CMnemonic:
- use `SecureVector` for data, bits, seed
- `Check` should return bool

* init vectors with desired size where possible
2017-05-29 14:51:40 +03:00
krychlicki
18c83f58e3 Qt: bug fixes and enhancement to traffic graph widget (#1429)
* clear trafficgraph on clear button click

* set default sample height

set default sample height so after clearing traffic graph have some
scale

* reduce available traffic graph ranges, add optimized graph data storage

reduce available traffic graph ranges to 10
(5m,10m,15m,30m,1h,2h,3h,6h,12h,24h),
store graph data so range change is possible,
data storage contains only necessary data to create graphs for all
supported ranges
eg. for 10m range storage only half of 10m samples - the second half is
calculated from 5m range samples,
encapsulate all traffic graph related data into one class

* code formatting corrections
2017-05-28 16:49:34 +03:00
Spencer Lievens
72176e5018 Remove duplicate bantablemodel.h include (#1446) 2017-05-05 14:35:34 +03:00
Allan Doensen
9901cf4338 Fix for dash-qt issue with startup and multiple monitors. (#1461)
* Fix for issues with startup and multiple monitors on windows.

* Improvements to centering code after a suggestion from zander.
2017-05-05 14:28:40 +03:00
UdjinM6
7242e29228 Refactor PS (#1437)
* split CDarksendPool

* split DoAutomaticDenominating

* CMasternode* -> masternode_info_t

* move some globals into CPrivateSendClient

* addressed PR comments
2017-05-05 14:26:27 +03:00
UdjinM6
559f8421b1 Few fixes for PrivateSend (#1408)
* PS should limit entry size, not mixing amount

* There should be no fee in mixing tx

* make sure pwalletMain is not null in PrepareDenominate

*  no need for "double" in GetAverageAnonymizedRounds, "float" should be enough

* add strErrorRet
2017-04-20 23:34:47 +03:00
UdjinM6
903483c5ab Translations201703 (#1384)
* translations201703 - en part

* 80%+ translations

* ru to 100%
2017-03-20 04:20:23 +03:00
UdjinM6
61d56ee22e Disable salvagewallet in GUI (#1390)
* Disable salvagewallet in GUI

salvagewallet is known to cause problems and
it's way to powerful to let it be accessible in GUI
https://github.com/bitcoin/bitcoin/issues/7463

I have few reports from different users as well,
would be a disaster for them, glad we have autobackup...

* typo
2017-03-15 00:56:09 +01:00
QuantumExplorer
8c64c0a7cf fixed protobuf 3.0 (byteswap) issue on macOS (#1370) 2017-02-28 13:00:02 +04:00
Spencer Lievens
01eeb59af6 Splashscreen now displays correctly (Fully) (#1367)
* Splashscreen now displays correctly on retina devices

* Remove devicePixelRatio instances
2017-02-28 12:59:27 +04:00
UdjinM6
e9e5a24910 fixing strings and docs + instantsend.md (#1354) 2017-02-19 22:02:33 +01:00
UdjinM6
31d8e03a2b Update sendcoinsentry.ui (#1343) (#1349)
Replacing 'bitcoins' in tooltip
2017-02-17 13:37:34 +04:00
Bob Feldbauer
af1177dd54 Update for OpenSSL 1.1 API. (#1336)
* Update for OpenSSL 1.1 API.

* Update qt/paymentrequestplus.cpp for OpenSSL 1.1 API.

* Fix missing # in if for qt/paymentrequestplus.cpp fix for OpenSSL 1.1 API change.

* Fix indentation in src/qt/paymentrequestplus.cpp.
2017-02-15 19:18:24 +04:00
UdjinM6
6483e6d06f send confirmation dialog box should display correct smallest denom (#1329) 2017-02-12 01:04:08 +04:00
Tim Flynn
0b54ab85c8 Fix locking issues in dash-qt masternodelist (#1328)
* Add last ping time to masternode_info_t

* Use thread safe functions to access mnodeman in masternodelist.cpp

* Fix masternodelist widget locking

* Protect access to widget data from StartAlias button
2017-02-10 04:56:52 +04:00
taw00
4fcc766a29 The denominations changed with 12.1 - Fixed how messaged in the help text. (#1327) 2017-02-10 04:52:01 +04:00
Tim Flynn
fecb3e4fe6 Fix some uninitialized variables in dash-qt (#1324)
* Fix uninitialized variables in WalletModel

* Fix uninitialized variable on overviewpage startup
2017-02-09 09:29:00 +04:00
UdjinM6
1486acfb99 remove IS number of inputs limit, add warning instead (#1308) 2017-02-03 02:38:33 +04:00
UdjinM6
cfc8954b42 Shift PS denoms (#1292)
* Shift PS denoms

* fix ui PS restrictions
2017-02-02 12:50:21 +04:00
UdjinM6
60409df822 InstantSend overhaul (#1288)
* Multi-quorum InstantSend, complete refactoring
+ cleanup for IS and partial protobump

* more changes:
- allow InstantSend tx to have 10 inputs max
- store many unique tx hashes in mapVotedOutpoints
- more checks in AcceptToMemoryPoolWorker (moved from ProcessMessage + CTxLockRequest(tx).IsValid() )

* More changes:
- let multiple lock candidates compete for votes
- fail to vote on the same outpoint twice early

* More changes:
- notify CInstantSend on UpdatedBlockTip -> remove cs_main from CheckAndRemove()
- notify CInstantSend on SyncTransaction -> count expiration block starting from the block corresponding tx was confirmed instead of the block lock candidate/vote was created
- fixed few locks

* add comments about nConfirmedHeight

* Fix "Block vs Lock" edge case

* Fix "Block vs Lock" edge case, p2

* Fix issues:
- fix logic for locking inputs and notifying - see UpdateLockedTransaction, TryToFinalizeLockCandidate
- add missing hash inserting in ProcessTxLockVote
- add nMaxBlocks param to ResolveConflicts to limit max depth allowed to disconnect blocks recursively
- fix false positive mempool conflict
- add missing mutex locks
- fix fRequireUnspent logic in CTxLockRequest::IsValid
2017-01-29 12:22:14 +04:00
Tim Flynn
9c5db04953 Fix datadir initialization in dash-qt (#1287) 2017-01-27 18:07:13 +04:00
UdjinM6
e8479675a8 show local time in Masternodes tab (#1244) 2017-01-13 18:03:28 +04:00
UdjinM6
053e374e42 Merge bug fixes (#1260)
* Fix for incorrect locking in GetPubKey() (keystore.cpp)

* Fix Cmd-Q / Menu Quit shutdown on OSX

* Addition of ImmatureCreditCached to MarkDirty()

To protect against possible invalidation and to bring conformity to the code.
2017-01-13 18:02:33 +04:00
UdjinM6
7e9ad0e26c Migration fixes (#1247)
* clean some network specific qt settings on migration

* ask user to choose datadir if default dir is not the one we expected
2017-01-04 21:47:50 +04:00
UdjinM6
a0c93ebaa5 cleanup/fix includes: (#1214)
- some were not used, some were included twice, some were in the wrong place, some were missing (but it compiled because some were in the wrong place)
- organized a bit better, grouped dash specific includes in original bitcoin files, should save some time solving conflicts when/if merging patches later
2016-12-20 17:27:59 +04:00
Holger Schinzel
e1702cd4ec bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
UdjinM6
3ebcb78e12 do not conect trayIconActivated on mac (#1184) 2016-12-05 00:33:23 +04:00
UdjinM6
9162c56419 Refactor HelpMessageDialog to reuse it for PS help info, add PS info to help menu (#1144) 2016-11-20 10:54:33 +04:00
crowning-
9071136c9b [UI] TrayIcon + TrayIconMenu for OSX (review changes) 2016-11-16 22:04:33 +01:00
crowning-
12691e15d4 [UI] TrayIcon + TrayIconMenu for OSX (review changes) 2016-11-16 22:04:26 +01:00
crowning-
544d220819 [UI] TrayIcon + TrayIconMenu for OSX 2016-11-15 23:38:04 +01:00
Tim Flynn
c31ba8ba4c New vote tallying implementation (#1135) 2016-11-13 21:52:34 +04:00
UdjinM6
d2f1fd253c Fix exit codes (#1127)
* Fix exit codes:
- `--help`, `--version` etc should exit with `0` i.e. no error ("not enough args" case should still trigger an error)
- error reading config file should exit with error
- slightly refactor AppInitRPC/AppInitRawTx to return standard exit codes (EXIT_FAILURE/EXIT_SUCCESS) or CONTINUE_EXECUTION (-1)
- every main()/exit() should return/use one of EXIT_ codes instead of magic numbers
2016-11-11 09:16:39 +04:00
crowning-
eb92933d52 [UI] In-wallet PrivateSend help (#1129) 2016-11-05 20:13:16 +04:00
UdjinM6
a4dfcae8f9 fix crash (#1126)
Fixes dash-qt --version (--help etc) crash (Segmentation fault: 11)
2016-11-02 22:43:20 +04:00
crowning-
81502761b6 [UI] Fix for empty Masternode list when mncache.dat exists (#1107)
* [UI] Fix for empty Masternode list when mncache.dat exists [review changes]

* [UI] Fix for empty Masternode list when mncache.dat exists [review changes]
2016-10-30 23:37:51 +04:00
UdjinM6
2d55b70381 (log) tweaks and (general) cleanup (#1086)
* docs

* deprecated/unused/duplicate

* comments

* log cleanup/verbosity tuning

* names/ifs/whitespaces/std
2016-10-22 20:52:14 +04:00
crowning-
c86439a366 [UI] Change 'Send' warning (#1064) 2016-10-09 15:47:22 +04:00
crowning-
93cd3693c2 [UI] Add Instantsend parameter to URI/QR-code (#1042) 2016-09-27 11:48:52 +04:00
UdjinM6
6e9d1779b9 (mostly trivial) Refactor CMasternode/Ping/Broadcast (#1022)
* Refactor CMasternode/Ping/Broadcast
Most noticable:
- pubkey -> pubKeyCollateralAddress
- pubkey2 -> pubKeyMasternode
- VerifySignature -> CheckSignature
- removed PoSe related stuff (deprecated)

Other variable name changes are trivial. Also adjusted debug log output.

* fix constructors
2016-09-16 02:00:06 +04:00
UdjinM6
9bf1e00f09 rename NetMsgType::IX -> NetMsgType::TXLOCKREQUEST, NetMsgType::IXLOCKVOTE -> NetMsgType::TXLOCKVOTE (#1021) 2016-09-16 00:07:01 +04:00
Evan Duffield
f0140dab01 Merge pull request #966 from UdjinM6/mergebtc12
Merge 'bitcoin/0.12', fix/dashify
2016-09-13 08:57:55 -07:00
UdjinM6
84ac8de59d Wallet passphrase lock fixes (#987)
* Wallet passphrase lock fixes:
- wallet should not allow cli commands to bypass lock validation
- wallet should lock again in mixing mode if it was unlocked for mixing and next unlock (e.g. for sending funds) happened
- removed AnonymizeOnlyUnlocked status, it's never going to be reached anymore
- "For anonymization only" checkbox:
  - should be available only when user click "Start Mixing"
  - should be set on by default when available
  - adjusted title
- adjust error messages in walletpassphrase for unlocked wallets

* Add comment about IsLocked() usage

* Final safety check for locked wallet in WalletModel::prepareTransaction
2016-09-11 13:02:54 +04:00
UdjinM6
36c4b6dc2e Trivial refactoring/cleanup (#990) 2016-09-05 20:09:25 +04:00
UdjinM6
ad4f1dc245 Refactor TransactionDesc::FormatTxStatus (#985)
Should be much easier to read code and to translate strings now.
2016-09-04 05:48:37 +04:00
UdjinM6
126be6fcf9 Slightly refactor masternode list tab, update list of "my" node after start was clicked (#979) 2016-09-04 05:48:23 +04:00
UdjinM6
46744394a2 More instantx->instantsend (few more ds->privatesend) (#984) 2016-09-02 16:17:32 +04:00
UdjinM6
0597900c16 Changes for sporks: (#981)
- rename all 3 instantsend sporks
- remove SPORK_7_MASTERNODE_SCANNING (not used anymore)
- change `_DEFAULT` for spork 2 and 3, adjust comments for for them
- fix GetSporkNameByID() (should not return smth_DEFAULT)
2016-09-01 18:55:25 +04:00
UdjinM6
e8ec9a6e06 Trivial: more darksend -> privatesend (#980) 2016-09-01 11:03:47 +04:00
UdjinM6
bc80d7e2a5 Merge #969: Masternode sync improvements
da406e3 Masternode sync improvements
    - add simple helpers for few more sync states (use them where appropriate instead of old code + rpc output)
    - use new helpers to avoid meaningless message processing
    - actually fail if sync shouldn't continue due to lack of info, make sure Reset is used to quit failed state
2016-08-29 21:11:34 +02:00
UdjinM6
7b10f9aaa6 Refactor CMasternodeSync (#956) 2016-08-28 14:12:14 +04:00
UdjinM6
6af7a58d92 Merge remote-tracking branch 'bitcoin/0.12' into mergebtc12, fix/dashify
NOTE: .travis.yml was mostly preserved, probably needs additional attention
2016-08-26 04:09:20 +03:00
UdjinM6
66de5b082a Merge #946: Fix extra warning about low keys on wallet encryption
5d62e4f Fix extra warning about low keys on wallet encryption
2016-08-19 05:47:37 -06:00
UdjinM6
7d55e623a8 Merge #945: More dash->dashcore
a5328a1 Change Dash -> Dash Core where appropriate (in strings)

b8696d9 Change user/group dash->dashcore

69dc9f1 Change dash->dashcore for /etc/ and /var/lib/ folders
2016-08-19 05:46:30 -06:00
crowning-
072fd72ca3 Merge #930: [UI] IPv4, IPv6 and TOR stats added to Information tab
d07ca0c [UI] IPV4, IPv6 and TOR stats added to Information tab

aaa320e [UI] IPv4, IPv6 and TOR stats added to Information tab
2016-08-06 22:52:01 +02:00
UdjinM6
5a8c0c9b9d Merge #928: Refactor All The Things - part1
86d8505 Refactor CActiveMasternode
+ move strMasterNodeAddr to CActiveMasternode

a005c79 Refactor InstantSend
+ new lock cs_instantsend to protect maps on CleanTransactionLocksList()
+ new DEFAULT_INSTANTSEND_DEPTH constant
+ rename MIN_INSTANTX_PROTO_VERSION to MIN_INSTANTSEND_PROTO_VERSION and bump it

d24182c Refactor Privatesend
+ decouple from util.h and version.h
+ more functions for CDarksendBroadcastTx: constructors, signing, serialization
+ move from rand() to insecure_rand() in general but to GetRand() for session id
+ fix defaults
2016-08-05 21:49:45 +02:00
UdjinM6
08703cebe6 Merge #927: Fix GUI MN list
2b1c567 To prevent high cpu usage we should update list only once in MASTERNODELIST_UPDATE_SECONDS seconds or MASTERNODELIST_FILTER_COOLDOWN_SECONDS seconds after filter was last changed. Also changing date/time format - QDateTime ToString() is way to slow for a list of thousands items, using DateTimeStrFormat instead. UI should work much smoother on mainnet now.
2016-08-05 18:47:59 +02:00
UdjinM6
d514ee7f9a Merge #922: Refactor/fix spork
42bdf42 Refactor/fix spork:
- move ProcessSpork, GetSporkValue, IsSporkActive, ExecuteSpork and mapSporksActive to CSporkManager
- move Sign, CheckSignature, Relay to CSporkMessage
- move ReprocessBlocks out of sporks to main.cpp / rename DisconnectBlocksAndReprocess to DisconnectBlocks
- rename SporkKey to SporkPubKey
- bugfix: only set strMasterPrivKey if spork signature produced by that key was verified successfully
- few log format changes, cleaned up includes
2016-07-30 13:04:27 +02:00
UdjinM6
66fb11c964 Merge #919: Add option to hide warning about low keys
b4647b5 Add option to hide warning about low keys before creating autobackup (but still warn if backup fails)
2016-07-29 10:36:49 +02:00
UdjinM6
8f9544c46e Merge #917: Move broadcast creation to CMasternodeBroadcast
8ee7b8a Move broadcast creation to CMasternodeBroadcast
2016-07-29 07:32:08 +02:00
UdjinM6
3e0eee4c84 Merge #921: Fix project name Dash -> Dash Core
ef1612a Fix project name Dash -> Dash Core
2016-07-29 07:30:19 +02:00
UdjinM6
0c65a9c892 Merge #918: Change anonymizedashamount -> privatesendamount for consistency
74f2725 Change anonymizedashamount -> privatesendamount for consistency
2016-07-29 07:28:57 +02:00
UdjinM6
9cb4dfca79 Fix #900 - MN tab option switch crash (#902)
6d1a376 Fix #900 - MN tab option switch crash
2016-07-06 16:33:12 +02:00
UdjinM6
3c29252469 Fix #899 - Information window glitch (#901)
5f1fe9a Fix #899 - Information window glitch
2016-07-06 16:32:48 +02:00
Holger Schinzel
f4e4dd65e7 Tag 0.12.1 final
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEbBAABCgAGBQJXD/i3AAoJEHSBCwEjRsmmOHsH+L5eRpiPeLhrDYyBFbp9RFKU
 TztyoeKAM4llEPmk6vAawgSL8HNY4va6lbY84sDfvCdLJqCxVR7MyiuQ4AQPXG4R
 Ke5DJ/G/K4ngyqruCBsSh2RJdVDrbE3zCmjN5gxPxrNKpi+mXs//A6gjvfxn4U1F
 WZepN3FzNFcqFG/ndKxptMYZoIuiK9JIhK7V/ksFKRPlUhipa1jh5sIWvCeFjiLT
 Wt8wGlHPHDFsPJW1o7EWMTHRhNCVqYhMDU7GT6FixIJFRGANIGlwfIUuqqUt0sil
 7YWIwD/+ai3dfeODazauqJAOEBXjoWCkuXn9IN/VhtvHOFR6AZO2aljS9ks6Cw==
 =6vRi
 -----END PGP SIGNATURE-----

Merge bitcoin tag 'v0.12.1' into dash v0.12.1.x

Merging Bitcoin 0.12.1 into Dash 0.12.1.x
2016-07-04 11:20:16 +02:00
Jonas Schnelli
fe98533b40 [Qt] Disable some menu items during splashscreen/verification state
Github-Pull: #8042
Rebased-From: 276ce84fd3
2016-07-04 11:05:07 +02:00
UdjinM6
9764e22ed8 Merge #893: Cleanup
3249a63 Fix logging - CTransaction::ToString() always has `\n` at the end of a string, avoid adding empty line
ec03753 make mnw errors and ThreadCheckDarkSendPool less spammy
5b678af fix errorMessage - it should not have `\n`, let output code handle line endings instead
a81cdf7 rename `dash-darksend` thread to `dash-privatesend`
5e4f468 fix/remove outdated code
f1c9678 Break tooltip about third party urls in 2 lines
2016-06-27 17:25:22 +02:00
UdjinM6
214c383ef9 Merge #891: Expose -privatesendmultisession to GUI options
d1ece08 Expose `-privatesendmultisession` to GUI options
2016-06-21 08:13:02 +02:00
TheLazieR Yip
679d469700 Fix LogPrint to LogPrintf
Printing Log without category defined should use LogPrintf
2016-06-21 01:01:13 +07:00
TheLazieR Yip
ba6194928a Fix LogPrint to LogPrintf
Printing Log without category defined should use LogPrintf
2016-06-21 00:46:59 +07:00
UdjinM6
496a0c31c9 merge #882: Autobackup enhancements + support autobackup in PS
1c860ce Autobackup refactoring and improvements:
- make nWalletBackups globally accessable
- move autobackup code from init.cpp to walletdb.cpp, see AutoBackupWallet function
- refactor autobackup code to warn user if autobackup failed instead of silently ignoring this fact
- refactor autobackup code to be able to backup fresh new wallet right after it was created, add this functionality to init sequence
- add new cmd-line option "-walletbackupsdir" to specify full path to directory for automatic wallet backups, see GetBackupsDir function

0ba1548 autobackup in PS:
- add nKeysLeftSinceAutoBackup to have some idea how many keys in keypool are more or less safe, show it in advanced PS UI mode and in rpc output for privatesend and getwalletinfo commands
- add autobackups support in PrivateSend mixing both in daemon and QT mode, warn user if number of keys left since last autobackup is very low or even stop mixing completely if it's too low

f3a2494 Warn about a special case - less than 60 seconds between restarts i.e. backup file name is the same as previos one. Continue and do not disable automatic backups in this case
.

e7b56bd Refactor to address locked wallets issue, replenish keypool and re-initialize autobackup on unlock (only if was disabled due to keypool issue)
Adjust few message strings.
2016-06-15 21:13:04 +02:00
crowning-
0ee1bb522c Merge #884: [UI] Transaction Date Range: persistence added and format modified
b7546d2 [UI] Transaction Date Range: persistence added and format modified
2016-06-13 14:11:26 +02:00
UdjinM6
de64f11347 Merge #875: Fix color for PS transaction labels
37bb138 Fix color for PS transaction labels, fixes #874
2016-06-09 08:26:11 +02:00
UdjinM6
36a2c4c92e Merge #872: Dynamically adjust recent tx list item count
befde96 Dynamically adjust recent tx list item count (on overview screen) in correspondence with fShowAdvancedPSUI state and litemode.

Also including a fix for #789
2016-06-08 20:33:00 +02:00
crowning-
9fcca947bb Merge #870: [UI] Masternode Icon Color Adjustment
b158401 [UI] Masternode Icon Color Adjustment
2016-06-08 20:31:44 +02:00
crowning-
779cfe8fff Merge #869: [UI] Overviewpage digits and number of recent transactions changed
8207643 [UI] Overviewpage digits and number of recent transactions changed
9a7d26c [UI] Number of digits on transaction-page reverted
1f707ab [UI] Overview-page NUM_ITEMS reverted to 5
2016-06-08 20:30:57 +02:00
UdjinM6
4d4a9df059 Merge #867: Implement an option to enable/disable advanced PrivateSend UI
953d9fb Implement an option to enable/disable advanced PrivateSend UI, more DS->PS in overview tab code
2016-06-06 21:52:24 +02:00
snogcel
51515775b3 Merge #868: checkbox image for wallet themes
b7ad787 use checkbox image for themes
b9e1c27 checkbox images
1a985cc checkbox images adjustment
2016-06-06 21:52:09 +02:00
crowning-
5ac043c1ba Merge #866: [UI] Column alignement of Transaction-Tab adjusted
191ca63 [UI] Column alignement of Transaction-Tab adjusted
2016-06-06 07:44:59 +02:00
crowning-
ee31604d59 Merge #865: [Wallet] Transaction View: LastMonth calculation simplyfied
6d20175 [Wallet] Transaction View: LastMonth calculation simplyfied
2016-06-05 07:11:22 +02:00
UdjinM6
c615a22898 Merge #862: make MasternodeList qt4 compatible
9c61b11 make MasternodeList qt4 compatible, fixes #859
2016-06-03 06:59:14 +02:00
Holger Schinzel
b5924a2451 merge #850: update splash screen
bd9d27a update splash screen
2016-06-02 08:11:47 +02:00
UdjinM6
aa9803473b Yet another fix for rpc autoCompleter, #752 was not enough (#844) 2016-05-31 06:56:58 +02:00
UdjinM6
4d55bc9666 Cleanup/maintenance (#830)
* remove instance references inside own class

* better logging

* remove unused

* fix tabs/spaces

* bitcoin->dash

* fix README.md
2016-05-30 08:22:30 +02:00