Commit Graph

6604 Commits

Author SHA1 Message Date
Evan Duffield
dec45ac67a Fixed bug with remotely enabled masternodes and wrong protocol version 2015-07-21 20:54:58 -07:00
Evan Duffield
388f22c576 Version 26 / New masternode consensus system
- Consensus system selects 1/10 of the oldest masternodes by payment, then selects payee by score from those. This fixes various race conditions when blocks are close together or inconsistant historical winner lists.
- Ask for up to 2 cycles of history
- Keep up to 5 cycles of history locally
2015-07-21 20:07:23 -07:00
Evan Duffield
cbe2bae130 Improved lastpaid and fixed votes calculation 2015-07-21 16:57:21 -07:00
Evan Duffield
b2c4e14ee8 Add offset for lastpaid / seperate min mnw peer version 2015-07-21 16:11:49 -07:00
Evan Duffield
18fc14e03c Improved mnw sync 2015-07-21 15:14:54 -07:00
Evan Duffield
9e5cd419d0 Fixed compile error 2015-07-21 10:00:11 -07:00
Evan Duffield
3fae250190 Dont accept MNW from older masternodes 2015-07-21 08:09:17 -07:00
Evan Duffield
de485fe93d Allow peers to ask for budget votes on testnet more than once 2015-07-21 07:05:35 -07:00
Evan Duffield
e4a0e8340c Masternode payment cache and mnget changes
- Cache saves masternode payment history
- On startup, the client will find the most recent block and calculate the amount of entries to ask for. The other peer will then send that amount of entries to save bandwidth on restarts.
2015-07-20 19:24:43 -07:00
Evan Duffield
1eab82ae2b Erase seen masternode broadcasts when masternode drops from list 2015-07-20 16:48:57 -07:00
Evan Duffield
6df7519e02 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-20 15:14:18 -07:00
Evan Duffield
37f55a3181 Refactored masternode payments system
- Replaced coinbase cache in favor of using the masternode payments voting system only
- Syncing masternode payments now supports up to the syncing the entire payment list
2015-07-20 15:09:42 -07:00
UdjinM6
8198291c7b Force sync progress:
If it's already more then MASTERNODE_SYNC_TIMEOUT seconds passed since we asked
and we still have nothing, assume there is nothing to sync but give it another
MASTERNODE_SYNC_TIMEOUT seconds until we move further
2015-07-20 22:33:18 +03:00
Evan Duffield
d193cc2d91 Clean up broadcast list when nodes are removed 2015-07-20 12:20:15 -07:00
Evan Duffield
2d745eb539 Don't sync sporks in regtest, fix segfault
- segfault caused by:
-    fRequireEnabled = (fRequireEnabled && pmn->IsEnabled()) || !fRequireEnabled;
-    if(pmn != NULL && fRequireEnabled && pmn->protocolVersion >= masternodePayments.GetMinMasternodePaymentsProto())
2015-07-20 11:56:02 -07:00
Evan Duffield
f36e4251ab mnb/mnp debugging 2015-07-20 11:43:10 -07:00
evan82
aa996b2615 Merge pull request #446 from UdjinM6/v0.12.0.x_fix_mnb_ping_acceptance
V0.12.0.x fix mnb ping acceptance
2015-07-20 11:21:15 -07:00
UdjinM6
cc26cff893 do not require active MN on ping check from UpdateFromNewBroadcast 2015-07-20 20:46:22 +03:00
evan82
a683078867 Merge pull request #445 from crowning-/UI_Enhancements
UI: allow "," in "Min amount" field of Transaction-View
2015-07-20 10:45:37 -07:00
Evan Duffield
77af4fb6ad MNP ping changes
- Ping every 5 minutes
- Nodes will propagate pings every 10 minutes
2015-07-20 10:44:27 -07:00
crowning-
fb5f80a06a UI: allow "," in "Min amount" field of Transaction-View 2015-07-20 18:28:49 +02:00
UdjinM6
753297ea99 drop -masternodeminprotocol/nMasternodeMinProtocol, use masternodePayments.GetMinMasternodePaymentsProto() 2015-07-20 08:03:36 +03:00
UdjinM6
5f9c676e05 fix condition for a recent block in mn sync 2015-07-20 04:54:03 +03:00
UdjinM6
b1f19c7e82 process checks we can without waiting for full sync 2015-07-20 04:54:02 +03:00
UdjinM6
4bcd548b62 slightly refactor 2015-07-20 04:54:02 +03:00
UdjinM6
86c869137f fixes for sync 2015-07-20 04:54:02 +03:00
UdjinM6
dba572ac96 use specific protocols 2015-07-20 04:54:02 +03:00
Evan Duffield
e6327e5546 Disable coinbase payee cache 2015-07-19 17:06:52 -07:00
Evan Duffield
57df98b38a Force chain reprocess on load for coinbase-payee index 2015-07-19 15:40:40 -07:00
Evan Duffield
e1279ebf1d Reprocess best chain for coinbase payee on each block 2015-07-19 11:19:11 -07:00
Evan Duffield
60f7428585 Disabled coinpayee cleanup 2015-07-19 10:56:45 -07:00
Evan Duffield
9668befdf4 Dont ask for mnb of known masternodes 2015-07-19 09:38:23 -07:00
Evan Duffield
c95111476c vesion bump 2015-07-19 08:51:02 -07:00
Evan Duffield
898fbcae02 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-19 08:50:01 -07:00
Evan Duffield
9c34930680 Disable nDos on early ping / sync regtest changes 2015-07-19 08:49:46 -07:00
Evan Duffield
143c80789c rebuild index when switching chains 2015-07-19 06:45:35 -07:00
Evan Duffield
2e6eb9f2b6 incremental update of coinbase cache 2015-07-19 06:28:23 -07:00
crowning-
19d698529e UI: Persist Darksend+InstantX settings (Cut'n'paste error fixed) 2015-07-19 14:42:38 +02:00
crowning-
c8c83af2f5 UI: Persist Darksend+InstantX settings and default to Darksend=false on first start (revert screen-size change) 2015-07-19 14:29:18 +02:00
crowning-
63c8ae1516 UI: Persist Darksend+InstantX settings and default to Darksend=false on first start 2015-07-19 14:25:55 +02:00
Evan Duffield
9a4914e6c1 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-18 12:52:23 -07:00
Evan Duffield
e82e5339f9 Better NewBlock sync check 2015-07-18 12:52:12 -07:00
evan82
e2257c844b Merge pull request #440 from UdjinM6/v0.12.0.x_rpc_masternode
V0.12.0.x few small masternode rpc fixes
2015-07-18 12:34:53 -07:00
Evan Duffield
841c7c270b version/proto bump 2015-07-18 12:29:19 -07:00
Evan Duffield
7aa9676118 Only check vote sigs once / payee cache update on newblock 2015-07-18 12:24:06 -07:00
UdjinM6
27dd4ccf06 move only 2015-07-18 22:17:17 +03:00
UdjinM6
a3dfd86058 Code cleanups for masternode rpc
- drop boost/lexical_cast
- drop c_str() where applicable
- slightly prettify descriptions and some output
2015-07-18 21:20:22 +03:00
UdjinM6
aa96d701af tabs to spaces 2015-07-18 20:40:19 +03:00
Evan Duffield
90f508c67e Pay masternodes when no valid budget 2015-07-18 08:53:40 -07:00
Evan Duffield
956d85c59b Change variable naming for rpc commands
- Added MonthlyPayment and TotalPayment
2015-07-18 08:48:44 -07:00