Commit Graph

13734 Commits

Author SHA1 Message Date
UdjinM6
cd47ac3faa fix nLastWatchdogVoteTime updates (#1679) 2017-10-12 15:05:17 +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
52cd4d40d8 Fix bug: nCachedBlockHeight was not updated on start (#1673)
in submodules if no new blocks were received since previous shutdown.
This was breaking some sync logic e.g. for payment votes.
2017-10-09 21:25:24 +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
thephez
ece884994e RPC help formatting updates (#1670)
- Convert satoshis to duffs
 - Correct order of fields in GetAddressUtxos
 - Add missing field from GetAddressDeltas (blockindex)
 - Add HelpExamples to gettxoutproof and verifytxoutproof
2017-10-09 21:24:56 +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 fae26e8dfc083679d33c57bf5166b83b6783b00a

* 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
0b6955a7b8 update nMinimumChainWork and defaultAssumeValid for testnet (#1668) 2017-10-05 00:01:29 +03:00
UdjinM6
33dbafbba5 fork testnet again to re-test dip0001 because of 2 bugs found in 1st attempt (#1667) 2017-10-04 23:13:32 +03:00
UdjinM6
48d63ab296 Relay govobj and govvote to every compatible peer, not only to the one with the same version (#1662) 2017-10-04 23:12:53 +03:00
UdjinM6
d286198728 fix: The idea behind fDIP0001LockedInAtTip was to indicate that it WAS locked in, not that it IS locked in (#1666) 2017-10-04 22:35:09 +03:00
Ilya Savinov
c3bc06bbf8 fix Examples section of the RPC output for listreceivedbyaccount, listreceivedbyaccount and sendfrom commands (#1665) 2017-10-04 22:34:30 +03:00
Ilya Savinov
8c1e5e8384 remove send addresses from listreceivedbyaddress output (#1664) 2017-10-04 22:34:14 +03:00
Ilya Savinov
72ef788c5f Update instantsend.md according to PR#1628 changes (#1663)
* fix instantsend.md according to PR#1628

* split examples and add an example for `listreceivedbyaddress 0` command
2017-10-04 22:34:00 +03:00
UdjinM6
381ffdc4bb Fork testnet to test 12.2 migration (#1660) 2017-10-02 00:02:01 +03:00
UdjinM6
278cf144b3 Remove cs_main from ThreadMnbRequestConnections (#1658) 2017-09-28 15:03:39 +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
UdjinM6
8e9289e12b Keep track of wallet UTXOs and use them for PS balances and rounds calculations (#1655)
* keep track of wallet UTXOs and use them for PS balances and rounds calculations

* fix
2017-09-27 20:43:16 +03:00
UdjinM6
0c1679e58c fix masternode current rpc (#1640)
GetNextMasternodeInQueueForPayment should not filter scheduled massternodes for it
2017-09-27 20:43:03 +03:00
UdjinM6
8c15f5f878 speedup MakeCollateralAmounts by skiping denominated inputs early (#1631) 2017-09-27 20:42:53 +03:00
Ilya Savinov
7a8910443c Fix unlocked access to vNodes.size() (#1654) 2017-09-25 17:16:56 +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
UdjinM6
d07ac4fbd3 fix: update DIP0001 related stuff even in IBD (#1652) 2017-09-22 04:54:14 +03:00
UdjinM6
7efa5e79d7 fix fallback fee (#1649) 2017-09-22 04:53:43 +03:00
UdjinM6
ea793a71f1 Make sure mixing masternode follows bip69 before signing final mixing tx (#1510)
* Make sure mixing tx follows bip69 before signing it

* bump MIN_PRIVATESEND_PEER_PROTO_VERSION to 70208
2017-09-22 04:53:15 +03:00
UdjinM6
502748487d bump MIN_INSTANTSEND_PROTO_VERSION to 70208 (#1650) 2017-09-22 04:52:35 +03:00
UdjinM6
72b221f745 Revert "fix BIP68 granularity and mask (#1641)" (#1647)
This reverts commit d3829e55b1.

Reverting and postponing the fix till later. Probably should write a DIP and explore different options first.
2017-09-21 16:58:23 +03:00
Ilya Savinov
b41f8d3dd6 fix instantsend-related RPC output (#1628)
* revert confirmations to its original meaning ("Blockchain Confirmations") and also remove bcconfirmations completely
* add new field instantlock (bool) to the RPC output of gettransaction, listtransactions and listsinceblock commands to indicate that tx was locked via InstantSend
* add optional `addlockconf` in addition to `minconf` parameter to all the commands where it makes sense
* fix `wallet.py` test and `vRPCConvertParams` set
* add addlockconf parameter for listreceivedbyaccount/listreceivedbyaddress commands
2017-09-20 23:34:54 +03:00
UdjinM6
25fa44d5a9 fix DIP0001 implementation (#1639)
According to DIP0001 description we should be using payment queue to select current masternode:
>As a block is mined the version number is determined by the miner who mined it and the masternode that is selected for that block.
>...
>The selection of a round consisting of 4032 blocks is made based on masternodes not being randomly selected, rather they are in a queue.

https://github.com/dashpay/dips/blob/master/dip-0001.md
2017-09-20 23:31:23 +03:00
UdjinM6
cd76f2a15c Disable HD wallet by default (#1629)
* disable hd wallet by default, fix related comments/help strings

* split tests for HD and non-HD cases
2017-09-20 23:31:12 +03:00
UdjinM6
5f0da8aa71 fix sync (#1643) 2017-09-20 23:30:56 +03:00
Oleg Girko
8949f4345f Wait for full sync in functional tests that use getblocktemplate. (#1642)
The getblocktemplate RPC call fails if used before node is fully synced.
This change fixes extended functional tests that were failing
because of that.

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2017-09-20 23:30:43 +03:00
UdjinM6
d3829e55b1 fix BIP68 granularity and mask (#1641)
fixes https://github.com/dashpay/dash/issues/1552
2017-09-20 23:30:21 +03:00
Alexander Block
7ab175a8e3 Ensure Dash wallets < 0.12.2 can't open HD wallets (#1638) 2017-09-19 17:52:29 +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
02e882c3d8 bump MIN_MASTERNODE_PAYMENT_PROTO_VERSION_2 and PROTOCOL_VERSION to 70208 (#1636) 2017-09-17 20:43:58 +03:00
UdjinM6
8f850c60fa Lower tx fees 10x (#1632)
* Lower tx fees 10x

* add DEFAULT_DIP0001_*FEE constants
2017-09-17 19:00:44 +03:00
UdjinM6
825b3ccc97 more "vin" -> "outpoint" in masternode rpc output (#1633)
* more "vin" -> "outpoint" in masternode rpc output

* fix doc
2017-09-17 19:00:05 +03:00
UdjinM6
e22453c902 fix fDIP0001* flags initialization (#1625) 2017-09-15 21:08:03 +03:00
UdjinM6
10eddb52de Move some (spamy) CMasternodeSync log messages to new mnsync log category (#1630) 2017-09-15 21:05:28 +03:00
Oleg Girko
4956ba7a7f Eliminate g_connman use in instantx module. (#1626)
Pass reference to CConnman instance to methods of CInstantSend
and other instantsend-related classes instead of using g_connman
global variable there.

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2017-09-15 21:05:13 +03:00
Ilya Savinov
adc7c6cb12 Remove some recursive locks (#1624)
* unnecessary recursive lock removed in `VersionBitsTipState` method

* interface changed for CRateChecksGuard; unnecessary recursive lock removed
2017-09-15 21:05:03 +03:00
UdjinM6
d7a8489f31 Fix masternode score/rank calculations (#1620)
* fix CMasternode::CalculateScore, new mn score algo activation is triggered by DIP0001 lock-in

* unify rank calculation, base it on full mn vector rather than using active mns only

* bump CMasternodeMan::SERIALIZATION_VERSION_STRING

* unify rank calculations even further

* fix (partially revert previous one)
2017-09-14 16:58:29 +03:00
Will Wray
ace00175c4 build: silence gcc7's implicit fallthrough warning (#1622)
This is a well-intentioned but realistically annoying warning. Unfortunately,
it's too easy for a warning in one header to cause dozens of repeated warnings.
https://github.com/bitcoin/bitcoin/pull/10489
2017-09-14 14:42:49 +03:00
Ilya Savinov
6a6b31b74d Dip0001-related adjustments (inc. constants) (#1621)
* block size related constants adjusted; other minor fixes

* revert constants related to storing blocks on disk

* move AssertLockHeld to a separate PR
2017-09-14 14:42:37 +03:00
UdjinM6
5f4362cb82 fix SPORK_5_INSTANTSEND_MAX_VALUE validation in CWallet::CreateTransaction (#1619) 2017-09-14 14:41:58 +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
33e460f306 Fix losing keys on PrivateSend (#1616)
* reserve colateral keey only if needed

reserve colateral keey only if needed -> fix losing one key on every
subsequent CreateDonominate

* Adding KeyHolder and KeyHolderStorage

Adding KeyHolder and KeyHolderStorage to store keys used in PrivateSend
until status of mixing is known.

* Removing ClearOn... methods. Instead of calling directly KeepAll/ReplaceAll.

* remove usage of shared_ptr

* use unique_ptr

* follow naming convention

* use CKeyHolderStorage in CreateDenominated too

* adjust log messages

* return keys on POOL_STATE_ERROR, keep keys on POOL_STATE_SUCCESS

* Disable copy/assign and allow move

* Use keyHolderStorageDenom for collateral output in CreateDenominated
2017-09-11 17:14:55 +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