Commit Graph

13303 Commits

Author SHA1 Message Date
UdjinM6
a1ef547918 only consider higher hashes if they don't exceed nExpirationDelay (#1361) 2017-02-23 21:23:30 +04:00
Tim Flynn
0bc6d92334 Define current votes by creation time instead of arrival time (#1360) 2017-02-23 16:29:00 +04:00
UdjinM6
636fb33e71 implement sentinel-like wd selection logic (#1359)
* Only accept wd's that are more recent or have a higher hash than the current best

* Fix whitespace typo

* Relay current watchdog when lower priority ones are received

* Fix nHashWatchdogCurrent reset conditions

* expire previous current wd when a new one is found in UpdateCurrentWatchdog

* fail to process votes for expired or deleted object
2017-02-22 22:29:30 +04:00
Holger Schinzel
17cf8dc6d1 bump to 0.12.1.2 (#1355) 2017-02-21 00:26:11 +04:00
UdjinM6
e9e5a24910 fixing strings and docs + instantsend.md (#1354) 2017-02-19 22:02:33 +01:00
crowning-
e3288a7e14 [RFC] add ObjectType to first-level JSON result (#1352) 2017-02-19 17:55:52 +01:00
UdjinM6
f59bd434ad fix gov list filtering bug (#1353) 2017-02-19 17:55:37 +01:00
UdjinM6
6d2cc99e35 Add "enough data" stop conditions for gov sync (#1350)
* Add "enough data" stop conditions for gov sync

* fix:
- make sure condition is checked only once per tick
- let condition be fully used on resync (reset nTimeNoObjectsLeft)
2017-02-18 00:08:41 +04:00
UdjinM6
91f7e57402 fix verification network behaviour: (#1348)
* fix verification network behaviour:
- use up to 10 connections only
- save state (do not ask same nodes after restart)
- initiate on time based intervals (every 5 minutes), based not on new blocks (should keep connections alive longer)

* revert mWeAskedForVerification serialization

* send verify requests using MAX_POSE_CONNECTIONS as a step
2017-02-18 00:08:29 +04:00
UdjinM6
31d8e03a2b Update sendcoinsentry.ui (#1343) (#1349)
Replacing 'bitcoins' in tooltip
2017-02-17 13:37:34 +04:00
UdjinM6
57fd9e9e2a fix watchdogs (#1346)
* fix watchdogs:
- do not accept if CreationTime is out of bounds (using CreationTime, not local time now)
- do not sync expired
- fix disk serialization

* drop watchdogs early, avoid adding//removing

* clean mapWatchdogObjects when object is deleted via votes
2017-02-17 04:48:42 +04:00
UdjinM6
f774daf47f a bit more granular sync checks for mnpayment (#1344) 2017-02-17 04:48:29 +04:00
TheLazieR Yip
e89b12d0c5 Gracefully not accept incoming connection (#1342) 2017-02-16 19:40:40 +04:00
UdjinM6
80b71d9746 Few networking fixes (#1341)
* Few networking fixes:
- skip "masternode"/inbound connections for sync related processes
- do not sync gov data to other nodes until fully synced ourselves
- do not accept incoming connections until fully synced

* inbound connections could be harmful only if our node is a masternode

* same for CGovernanceManager::Sync
2017-02-16 19:14:42 +04:00
crowning-
23fa1f5f13 [Trivial] maxconnections parameter help text modified (#1340) 2017-02-16 19:14:29 +04:00
Alex Werner
39dcc35d40 Fix: Broken download link (#1335) 2017-02-15 19:18:43 +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
UdjinM6
f08ae49904 Fix crash on initial mixing step: (#1331)
* Fix crash on initial mixing step:
- skip nodes marked to be disconnected
- add/release ref to make sure pnode is not deleted in the middle of the process

* - fix copy/paste mistake (nTries)
- let ConnectNode manage ref for non-mn pnodeFound
2017-02-11 03:57:09 +01:00
UdjinM6
817fd9c860 bump build to 0.12.1.1 (#1330) 2017-02-11 03:56:55 +01: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
UdjinM6
b6be968c2f Fix rpc (#1325)
* no wallet passphrase in masternode(broadcast) and darksend rpc

* spork values are int64
2017-02-10 04:51:47 +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
56971f8da1 Fix CMasternodeConfig::read (#1322)
CService fails to initialize correctly on Windows for whatever reason,
replacing this functionality with SplitHostPort call.
2017-02-06 01:29:23 +04:00
Tim Flynn
8de792291a Add a mutex lock to protect CNode::nRefCount (#1321)
* Add a mutex lock to protect CNode::nRefCount

* Added logging statement for CNode removal
2017-02-05 20:45:36 +04:00
Tim Flynn
5520bf6895 Masternode index rebuild bug fix (#1318)
* Clear old masternode index after vote map rebuild

* Add masternode index size to CMasternodeMan::ToString
2017-02-05 13:24:34 +04:00
UdjinM6
1d45023f3e assert on Release (#1317) 2017-02-04 22:47:38 +04:00
UdjinM6
bd3978fd4b Fix IS vote expiration/cleanup: (#1316)
- vote should be removed when corresponding orphan vote expires
- fix CInstantSend::SyncTransaction: mapTxLockVotes is indexed by vote hash, not by tx hash (use votes from candidates and from orhpan vote map to avoid looping through the whole vote map)
2017-02-04 22:17:45 +04:00
UdjinM6
8c6f756362 put some reasonable limits on SPORK_12_RECONSIDER_BLOCKS (#1312)
* put some reasonable limits on SPORK_12_RECONSIDER_BLOCKS

* 6h -> 24h
2017-02-04 04:42:04 +04:00
UdjinM6
636e48b2a8 fix off-by-1 bug in DisconnectBlocks (#1313) 2017-02-04 04:41:32 +04:00
UdjinM6
cedd269cb0 shift CSV deployment window on mainnet to "Feb 5th, 2017 - Feb 5th, 2018" (#1314) 2017-02-04 04:41:18 +04:00
Tim Flynn
0ecc7c61eb Adjust start of 12.1 superblocks (#1311) 2017-02-03 21:41:22 +04:00
Tim Flynn
3840d97027 Fix division by zero (#1310)
* Fix division by zero

* Fixes based on code review comments

* Fix nProjectedVotes value

* Set nProjectedVotes to 2000
2017-02-03 13:17:47 +04:00
UdjinM6
1486acfb99 remove IS number of inputs limit, add warning instead (#1308) 2017-02-03 02:38:33 +04:00
UdjinM6
f729d8227b bump gov cache version to start from scratch (#1306) 2017-02-02 17:43:40 +04:00
UdjinM6
c5210a3e5b Adjust gov sync (#1305)
* Adjust gov sync:
- simulate mainnet gov obj sync conditions on testnet
- add redundancy: ask up to 3 peers for the same obj

* stop loop if max number of peers per obj was asked
2017-02-02 17:04:45 +04:00
Tim Flynn
1f7b46c2c0 Restore 5 Dash fee for proposal creation (#1302) 2017-02-02 12:51:02 +04:00
Tim Flynn
399330d42d Improve governance syncing efficiency with bloom filter (#1299)
* Use bloom filter for governance vote syncing

Modify masternode-sync to send bloom filters

Correctly initialize bloom filter

Set fUseFilter argument

Increase bloom filter size to account for multiple signals

Set bloom filter parameters

Use constants for bloom filter parameters

Added filter size check

Added filter size check in masternode-sync

Update bloom filter

Changed bloom parameters

* Bump protocol version

* Update sync time for inv's

* Changes based on code review comments

* Make bloom filter size network dependent

* Fix network dependent filter parameters

* Remove unneeded constant definition

* Move constant definition

* Add blank line
2017-02-02 12:50:44 +04:00
UdjinM6
cfc8954b42 Shift PS denoms (#1292)
* Shift PS denoms

* fix ui PS restrictions
2017-02-02 12:50:21 +04:00
Tim Flynn
a73185d939 Increment node refcount before adding to vector (#1304) 2017-02-02 12:22:47 +04:00
Tim Flynn
944420deb0 Fix deadlock in governance on cs_main (#1303) 2017-02-02 03:07:24 +04:00
UdjinM6
3bfa5392fa fix flag/ref order + cs_vNodes in ConnectNode (#1300)
* fix flag/ref order

* hold cs_vNodes in ConnectNode a little bit longer

* fix
2017-02-01 21:24:00 +04:00
UdjinM6
c8466cfb04 fix lock order in ThreadMnbRequestConnections (#1298) 2017-01-31 21:11:21 +04:00
UdjinM6
572c554681 Multiple mnb recovery (#1297)
* ask for multiple mnb hashes for recovery

* address comments, lock cs_vNodes and add/relese ref

* add parentheses
2017-01-31 19:29:27 +04:00
UdjinM6
e2eaf1d0d7 Fix few block processing bugs (#1291)
* protect mapRejectedBlocks by cs_main

* few block reprocessing fixes:
- DisconnectBlock should fail on DisconnectTip failure
- ResolveConflicts should fail on DisconnectBlock failure
- ReprocessBlocks cleanup

* don't ban on IsBlockValueValid/IsBlockPayeeValid failure
2017-01-30 10:01:08 +04:00
Tim Flynn
04ed5db62c Fix Vote iteration bug (#1290)
* Fix Vote iteration bug

* Fix order of statements
2017-01-29 23:09: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
TheLazieR Yip
534effaf85 Set width=18 to support NEW_START_REQUIRED status in masternodelist full (#1281) 2017-01-25 15:37:45 +04:00