Commit Graph

17030 Commits

Author SHA1 Message Date
Alexander Block
909d6a4ba5 Simulate BlockConnected/BlockDisconnected for PS caches 2019-11-19 12:25:23 +01:00
UdjinM6
db7f471c7d Few fixes related to SelectCoinsGroupedByAddresses (#3144)
* Fix cache usage in SelectCoinsGroupedByAddresses

* Reset cache flags in SelectCoinsGroupedByAddresses when a block is (dis)connected

* MakeCollateralAmounts should call SelectCoinsGroupedByAddresses with a limited number of inputs
2019-11-19 12:25:23 +01:00
UdjinM6
1acd4742c4 Various fixes for mixing queues (#3138)
* Always check for expired queues on masternodes

* Check if a queue is too old or too far into the future

Instead of only checking that it's to old

* Check that no masternode can spam us with dsqs regardless of dsq readiness
2019-11-19 12:25:23 +01:00
Alexander Block
0031d6b04d Also consider txindex for transactions in AlreadyHave() (#3126)
This avoids many false negatives where TXs are announced to us which are
already mined and then were spent later.
2019-11-19 12:25:23 +01:00
UdjinM6
c4be5ac4df Ignore recent rejects filter for locked txes (#3124)
* Ignore recent rejects filter for locked txes

If we had a conflicting tx in the mempool before the locked tx arrived and the locked one arrived before the corresponding islock (i.e. we don't really know it's the one that should be included yet), the locked one is going to be rejected due to a mempool conflict. The old tx is going to be removed from the mempool by an incoming islock a bit later, however, we won't be able to re-request the locked tx until the tip changes because of the recentRejects filter. This patch fixes it.

* Add some explanation
2019-11-19 12:25:23 +01:00
Alexander Block
f2d401aa85 Make orphan TX map limiting dependent on total TX size instead of TX count (#3121) 2019-11-19 12:25:23 +01:00
UdjinM6
7677b55781
Actually apply CSS styling to RPC console (#3201) 2019-11-19 01:25:59 +03:00
UdjinM6
63cc22d5ea
More Qt tweaks (#3200)
* Fix combobox popup style

* Unify margins/paddings/height for lineedits/comboboxes/spinboxes

* Drop walletframe_background

* Add transparency to unchecked.png

* Alternative solution for comboboxes (no border for popups, add paddings in QListView)
2019-11-18 19:28:41 +03:00
UdjinM6
87ff566a04 Update/modernize macOS plist (#3074)
* Use 4-digit version numbers for macOS bundles

* Drop deprecated CFBundleGetInfoString and use NSHumanReadableCopyright instead
2019-11-18 15:30:15 +01:00
UdjinM6
2141d5f9d9 Fix bip69 vs change position issue (#3063)
* Fix bip69 vs change position issue

* Drop `setbip69enabled` rpc
2019-11-18 15:29:49 +01:00
UdjinM6
75fddde67f Partially revert 3061 (#3150)
Turned out that this causes SelectCoinsMinConf to (unnecessary) lean towards selecting mempool txes which can cause "too long mempool chain" error even when there are more funds to spend.
2019-11-18 15:28:34 +01:00
UdjinM6
c74f2cd8b2 Fix SelectCoinsMinConf to allow instant respends (#3061)
* Modify tests to check for instant respends

This should fail atm...

* Fix SelectCoinsMinConf to allow instant respends

Now tests should pass again.
2019-11-18 15:28:19 +01:00
UdjinM6
7aa9c43f89
Few Qt tweaks (#3199)
* Fix "out of sync" label

* Fix fallback fee warning label

It's too long in some languages (e.g. ru) and this breaks ui

* Drop sub-tabs on the Masternode tab
2019-11-15 13:46:45 +03:00
UdjinM6
fd50c1c715
Hold cs_main/cs_wallet in main MakeCollateralAmounts (#3197)
* Hold cs_main/cs_wallet in main MakeCollateralAmounts

Otherwise smth else can alter wallet state and we might end up creating conflicting txes.

* AssertLockHeld
2019-11-13 23:04:12 +03:00
UdjinM6
460e0f475a
Fix locking of funds for mixing (#3194)
* Fix locking of funds for mixing

Lock funds earlier and actually lock mixing collaterals

* Streamline the locking logic in PrepareDenominate
2019-11-13 23:03:52 +03:00
UdjinM6
415b81e41e
Refactor some pow functions (#3198)
* Refactor GetNextWorkRequired

* Move special diff rule out of DGW
2019-11-13 21:17:36 +03:00
UdjinM6
b2fed3862b
A few trivial fixes for RPCs (#3196)
* Move "bip147" softfork up in getblockchaininfo to match the actual order of activation

* Fix typo

* Use CURRENCY_UNIT instead of BTC

* Add simple descriptions in `quorum` rpcs

* Unify the look of `quorum` cmd options (drop `.`)

* Clarify the order softforks are sorted in getblockchaininfo
2019-11-13 21:17:00 +03:00
UdjinM6
f8296364aa
Two trivial fixes for logs (#3195)
* Unify zmq publish notifier logs

* Add missing line break
2019-11-13 21:16:41 +03:00
UdjinM6
d5cc88f00a
Should mark tx as a PS one regardless of change calculations in CreateTransaction (#3193) 2019-11-13 21:16:02 +03:00
Nathan Marley
e9235b9bbb trivial: Rename txid paramater for gobject voteraw (#3191)
The "masternode-tx" name is kinda confusing since ProTxes exist now. This is a
small rename to clarify that it is referring to the MN collateral txid and
index.
2019-11-11 12:22:20 +03:00
Nathan Marley
70b320bab0 Detect masternode mode from masternodeblsprivkey arg (#3188)
* Detect masternode mode from privkey arg

The `masternode` argument seems redundant. This change enables masternode mode
based on the presence (and validity) of the `masternodeblsprivkey` argument.

* Deprecate -masternode option

* Remove -masternode switch from functional tests

* Move -masternode deprecate warning to better place
2019-11-11 12:21:45 +03:00
UdjinM6
1091ab3c66
Translations201909 (#3107)
* en

* ru

* fi

* ko, vi

* it, pl, sk

* fix fi

* es, fr, zh_TW

* de, nl

* Add ro

* pt, tr, zh_CN

* th

* ja
2019-11-11 11:24:45 +03:00
UdjinM6
251fb5e69c
Slightly optimize ApproximateBestSubset and its usage for PS txes (#3184)
* From 2 best sets with the same `nTotal` in ApproximateBestSubset prefer the one with less inputs

* There is no reason to run ApproximateBestSubset again if nMinChange is 0

* Apply review suggestions
2019-11-04 20:35:58 +03:00
UdjinM6
a55624b25f
Fix 3182: Append scrollbar styles (#3186) 2019-11-04 20:35:32 +03:00
UdjinM6
ff1869d3f3
Merge pull request #3187 from codablock/pr_remove_ccache
Remove ccache from depends subsystem
2019-11-04 20:35:08 +03:00
Alexander Block
df04cdcd23 Fix Dash specific docs and scripts 2019-11-04 13:29:32 +01:00
MarcoFalke
1ef70ac9ef Merge #12607: depends: Remove ccache
cc879675e1 depends: Remove ccache (fanquake)

Pull request description:

  After discussion with @theuni, we can possibly just remove ccache from depends entirely.

  Related to #12606

Tree-SHA512: ae0a60c8d97467fa41d617daa48ed22159cf32613808634a983304901dd5ed27124e77868d2314004e5144f7b35ba1333f720bb12daec4c5ca03aaf29d593ef2
2019-11-04 13:20:45 +01:00
UdjinM6
1bbe1adb4c
Add a simple test for payoutAddress reuse in protx update_registrar (#3183) 2019-10-31 20:31:08 +03:00
UdjinM6
372389d231
Disable styling for scrollbars on macos (#3182)
* Do not add spacing to tx list header on macos

* Only style scrollbars when not on macos
2019-10-31 20:30:57 +03:00
UdjinM6
e0781095f0
A couple of fixes for additional indexes (#3181)
* It should not be possible to change settings for additional indexes without reindex

* Should write db flags for additional indexes on reindex

* Add tests to make sure index settings can't be changed without reindex
2019-10-31 20:30:42 +03:00
Nathan Marley
d3ce0964b2 Add Qt GUI refresh w/branding updates (#3000)
* Update Dash app and toolbar icons

* Update icons and images

* Remove menubar icons

* Add Dash logo to top-right of menubar

* Remove the small PrivateSend buttons

* Remove image entirely from About modal

* Update CSS for new theme changes

* Restore splash testnet image

* Make entire toolbar button clickable

* Fix address book and shrink transaction icons

* Revert "Restore splash testnet image"

This reverts commit 2df07ff7d3.

* Restore original direction for tx in/out arrows

* Add transparency to icons

* Remove unused icons

* Resize way too small icons

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

* Drop `light` from `optimize-pngs.py`

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

"Total reduction: 42507 bytes"

* Restore old remove icon as console_remove
2019-10-31 20:30:21 +03:00
Nathan Marley
9bc699ff25 Update activemn if protx info changed (#3176)
* Update activemn if protx info changed

* Add `==` and `!=` operators to CDeterministicMNState

* Only re-init active MN if its IP changed, changes to payout, voting etc. can be done without it

* Test `masternode status` updates

* Don't track mnListEntry anymore and instead get the DMN on demand

* Revert "Add `==` and `!=` operators to CDeterministicMNState"

This reverts commit fba4687581.
2019-10-30 22:31:13 +03:00
UdjinM6
bbd9b10d47
Refactor nonLockedTxsByInputs (#3178) 2019-10-29 21:37:54 +03:00
UdjinM6
64a913d6f9
Allow empty strings in protx update_registrar as an option to re-use current values (#3177)
* Allow empty strings in `protx update_registrar` as an option to re-use current values

* Update src/rpc/rpcevo.cpp

Co-Authored-By: Alexander Block <ablock84@gmail.com>
2019-10-29 21:37:39 +03:00
PastaPastaPasta
3c21d2577f Slightly adjust some README.md files (#3175)
Signed-off-by: Pasta <pasta@dashboost.org>
2019-10-29 21:37:18 +03:00
Alexander Block
10dd3c1ee0
Merge pull request #3174 from codablock/pr_netpy_fixes
Backport fixes for net.py test
2019-10-23 09:57:22 +02:00
Alexander Block
883fcbe8bd
Always run extended tests in Gitlab CI (#3173)
These require only ~4m more, which is fine in Gitlab as we don't have so
strict limits. This makes the cron job obsolete.
2019-10-23 09:56:55 +02:00
UdjinM6
a7492c1d3a Handle coin type via CCoinControl (#3172) 2019-10-23 09:56:44 +02:00
Alexander Block
5107582f25
Merge #11252: [P2P] When clearing addrman clear mapInfo and mapAddr. (#3171)
b86a42077 when clearing addrman clear mapInfo and mapAddr (Gregory Sanders)

Pull request description:

  Power failure on my machine resulted in a corrupted addrman that would hit bad assertions when trying to serialize the "cleared" addrman to disk: 6866b4912b/src/addrman.h (L320)

Tree-SHA512: 07ca8b6cbd88407e5f3f0dccb346ae31bd1392f4210b2d5c5647c853986bfec95cf70240b92bafdc61b90e452a5d8315962738d10c10c2b53fdabff10503d05a
2019-10-23 09:56:30 +02:00
Alexander Block
0d1a049059
Don't show individual messages for each TX when too many come in at once (#3170)
This avoids locking up the whole Desktop on some systems where messages
are sent through DBUS.

Instead of showing each message, we'll now consolidate all TXs into a single
message when more then 9 arrive at once (in 100ms).
2019-10-23 09:56:15 +02:00
Alexander Block
589c892506
Fix 2 more bottlenecks causing GUI lockups (#3169)
* Remove dataChanged call for ToAddress

This call is redundant since a long time already. It comes from a time
where there was no ToAddress column, but only a Description column which
also contained status information for coinbases. This is gone for a long
time already, so the ToAddress column has nothing included which might
change when confirmations change.

For the history:
34fa178243 splitted the Description column
into Type and ToAddress
e599246803 removed last traces of status from
the ToAddress column

* Avoid call to labelForAddress in formatTxToAddress

This speeds up sorting by address
2019-10-23 09:56:00 +02:00
UdjinM6
dfd6ee472a Actually update spent index on DisconnectBlock (#3167)
Fixes #3166
2019-10-23 09:55:44 +02:00
Alexander Block
3c818e95bc
Only track last seen time instead of first and last seen time (#3165)
This avoids timeouts on parts of the network
2019-10-23 09:55:06 +02:00
MarcoFalke
cf632029b9 Merge #12804: [tests] Fix intermittent rpc_net.py failure.
5a67c0524e [tests] Fix intermittent rpc_net.py failure. (John Newbery)

Pull request description:

  rpc_net.py would intermittently fail on Travis, probably
  due to assuming that two consecutive RPC calls were atomic.
  Fix this by trying the test up to three times and only failing
  if all three attempts fail.

  fixes #11778

Tree-SHA512: f2f5047e05114ad2110377e6221ce057680c240952971fb33863834587d2250896c6b697ba27eef739cd0ab23faf47dfae8cafadc9833cbfab5a6f7e36dae5e2
2019-10-22 15:36:49 +02:00
MarcoFalke
1d8eb903ad Merge #12545: test: Use wait_until to ensure ping goes out
0eb84f30d8 test: Use wait_until to ensure ping goes out (Ben Woosley)

Pull request description:

  Intermittent failure evident here:
  https://travis-ci.org/bitcoin/bitcoin/jobs/344021180

Tree-SHA512: 8d3cbc55563160390d3918eb0b22348990cd81ad35c0563033f19142cb43b86a150fecc7df2196209ba00aaa805c67285451e582f387f8dac22d5e44d54e8a0d
2019-10-22 15:35:42 +02:00
UdjinM6
df3dbe85b7
Wait for sporks to propagate in llmq-chainlocks.py before mining new blocks (#3168)
The bug was introduced in e5ebabeddd
2019-10-22 11:40:17 +03:00
Nathan Marley
8cbd63d9e8 Make HD wallet warning a bit more natural (#3164) 2019-10-22 11:39:13 +03:00
QuantumExplorer
001c4338bf Improved messaging for ip address errors (#3163) 2019-10-19 13:40:29 +03:00
UdjinM6
33d04ebf28
Disable move ctor/operator for CKeyHolder (#3162)
* Disable move ctor/operator for CKeyHolder

Also fixes these warnings:
```
In file included from dsnotificationinterface.cpp:12:
In file included from ./privatesend/privatesend-client.h:8:
./privatesend/privatesend-util.h:18:5: warning: explicitly defaulted move constructor is implicitly deleted [-Wdefaulted-function-deleted]
    CKeyHolder(CKeyHolder&&) = default;
    ^
./privatesend/privatesend-util.h:13:17: note: move constructor of 'CKeyHolder' is implicitly deleted because field 'reserveKey' has a deleted move constructor
    CReserveKey reserveKey;
                ^
./wallet/wallet.h:1282:5: note: 'CReserveKey' has been explicitly marked deleted here
    CReserveKey(const CReserveKey&) = delete;
    ^
In file included from dsnotificationinterface.cpp:12:
In file included from ./privatesend/privatesend-client.h:8:
./privatesend/privatesend-util.h:19:17: warning: explicitly defaulted move assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
    CKeyHolder& operator=(CKeyHolder&&) = default;
                ^
./privatesend/privatesend-util.h:13:17: note: move assignment operator of 'CKeyHolder' is implicitly deleted because field 'reserveKey' has a deleted move assignment operator
    CReserveKey reserveKey;
                ^
./wallet/wallet.h:1283:18: note: 'operator=' has been explicitly marked deleted here
    CReserveKey& operator=(const CReserveKey&) = delete;
                 ^
2 warnings generated.
```

* Slightly refactor `CKeyHolderStorage::AddKey()` to clarify that it's ptr and not the object itself that we are moving
2019-10-19 13:40:12 +03:00
UdjinM6
40ef0f76a5
Merge #17118: build: depends macOS: point --sysroot to SDK (#3161)
a0daea459cf4812fbdda9a7ead131a73f5856c09 [build] depends macOS: point --sysroot to SDK (Sjors Provoost)

Pull request description:

  Fixes errors like `fatal error: 'unistd.h' file not found` when building depends on macOS.

  Replaces #14352 (which doesn't work on Catalina).

ACKs for top commit:
  jonasschnelli:
    utACK a0daea459cf4812fbdda9a7ead131a73f5856c09

Tree-SHA512: 995b1e1e84e635b32d1d4038bc63730c94a7c318b7240f6d62825977e5c97fe52c5aa5a0f39070beb0df8271dd294b36d6b5cf7f09ad07494fb15d5bd4d77f68
2019-10-19 13:39:37 +03:00