Commit Graph

6695 Commits

Author SHA1 Message Date
Evan Duffield
2b3edff435 Only relay good budget items 2015-07-25 21:23:38 -07:00
Evan Duffield
b04faf6e2d Update lastPing in mapSeen obj, remove ping from CMasternode hash 2015-07-25 21:13:17 -07:00
Evan Duffield
04fc6e1fb4 Change rest of sync process to direct inv messages / reduced sync timeout 2015-07-25 20:17:53 -07:00
Evan Duffield
61becf2f11 directly send inv messages 2015-07-25 19:27:40 -07:00
Evan Duffield
c0a5dfba61 Masternode inv messages / save seen in mncache 2015-07-25 12:07:30 -07:00
Evan Duffield
43101ebeca Implement planned hard forks, August 24, 2015 2015-07-25 11:02:38 -07:00
Evan Duffield
0b9d761a38 only take newest votes 2015-07-25 09:59:59 -07:00
Evan Duffield
8187228be1 Fixed budget syncing issues / forking issues / syncing issues
- Budgets now store the seen objects locally so they're not overwritten when saving/loading to check validity of budget.dat
- Added safer sync "failure" mode, that will retry an hour later if the sync fails for some reason. This will stop the client from thinking it has budget data and rejecting blocks when they're valid.
- protocol bump
- version bump
2015-07-25 09:29:29 -07:00
evan82
24183b156b Merge pull request #456 from UdjinM6/v0.12.0.x_info_mn_count
V0.12.0.x more info for masternode count output/rpcconsole dialog
2015-07-25 06:32:41 -07:00
evan82
26b2c3243c Merge pull request #455 from UdjinM6/v0.12.0.x_mnb_hash_lastPing
V0.12.0.x include lastPing in mnb hash calculation
2015-07-25 06:31:51 -07:00
UdjinM6
8079967cc5 more info for masternode count output/rpcconsole dialog 2015-07-25 11:18:22 +03:00
UdjinM6
5a6e474ec6 include lastPing in mnb hash calculation 2015-07-25 09:22:58 +03:00
Evan Duffield
61745d7724 Filter SigTime modes / version / proto bump 2015-07-24 16:10:44 -07:00
UdjinM6
491c46c412 remove sync forcing and count already seen as a success instead 2015-07-24 21:35:11 +03:00
Evan Duffield
38cd9bd679 Improve portability of mn ranking algos 2015-07-24 09:44:46 -07:00
Evan Duffield
5281c48f70 Fix syncing issues
- if(pindexPrev->nHeight + 4 < pindexBestHeader->nHeight || pindexPrev->nTime + 600 < GetTime()) return;
-- && allowed skipping in various situations, which caused blocks to be rejected because of lack of mnfinalbudget data
2015-07-24 09:10:08 -07:00
Evan Duffield
9e65749ff6 Safer calcscore implementation 2015-07-24 08:50:10 -07:00
Evan Duffield
c137a204fb Added calcscore cmd 2015-07-24 08:21:02 -07:00
Evan Duffield
85e1280bc3 limit mnw votes-per-mn 2015-07-24 07:12:48 -07:00
Evan Duffield
48f9e277f9 changed min ver back to 70066 2015-07-23 18:55:39 -07:00
UdjinM6
f8f4bff9a1 do not sync while IBD 2015-07-24 01:35:59 +03:00
UdjinM6
f0ccd2b8cb fix resync 2015-07-24 01:35:11 +03:00
Evan Duffield
814f8e3f17 delete comment 2015-07-23 15:05:47 -07:00
Evan Duffield
ac947444da protocol bump 2015-07-23 15:02:15 -07:00
Evan Duffield
9fb56d9479 Various improvements
- Use INV messages where possible in syncing process
- Ask 4 peers intend of 2 to send of inventory of mnw, and budgets
- Special regtest sync mode
- Fix mnw freezing issue (maybe)
2015-07-23 14:35:14 -07:00
Evan Duffield
fa6216f115 Check for existing budget hash before submitting 2015-07-23 11:48:19 -07:00
Evan Duffield
9aca541200 inc min peer version to 70094 for testing 2015-07-23 11:36:07 -07:00
Evan Duffield
5c935c8c86 version bump 2015-07-23 11:16:49 -07:00
Evan Duffield
f727b2dbd7 Fixed RemainingPayments display bug
- When proposal hasn't started yet, remaining payment is calculated incorrectly.
2015-07-23 07:36:41 -07:00
Evan Duffield
35cc21edf3 New masternodes must wait till end of queue 2015-07-23 07:16:55 -07:00
Evan Duffield
cd862ac1ea Disable multisig proposals / IsScheduled read ahead 8 blocks 2015-07-23 06:46:38 -07:00
evan82
5cccd2b269 Merge pull request #447 from crowning-/UI_Enhancements
UI: fixed width of wallet-repair-buttons for longer locales
2015-07-23 06:31:09 -07:00
evan82
516c5fff0f Merge pull request #450 from UdjinM6/v0.12.0.x_active_mn
V0.12.0.x active masternode fixes
2015-07-23 06:30:46 -07:00
evan82
9e879d5e8d Merge pull request #451 from UdjinM6/v0.12.0.x_fix_rpc
V0.12.0.x small fixes for rpc
2015-07-23 06:29:33 -07:00
UdjinM6
ae48f0984e small fixes for rpc 2015-07-23 05:32:13 +03:00
UdjinM6
6123770bf8 active masternode fixes 2015-07-23 05:19:37 +03:00
Evan Duffield
18a908065f Fixed mnbudget suggestion 2015-07-22 18:53:17 -07:00
Evan Duffield
b9d47a0c6f Submit finalized budget 2 days before payment 2015-07-22 17:54:47 -07:00
Evan Duffield
c2a23c5beb Fix sync-spork logic 2015-07-22 16:51:51 -07:00
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
crowning-
49afaa0557 Merge remote-tracking branch 'upstream/v0.12.0.x' into UI_Enhancements 2015-07-21 01:21:23 +02: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
crowning-
52b930329d UI: fixed width of wallet-repair-buttons for longer locales 2015-07-20 20:52:49 +02: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
Evan Duffield
637805b2de Require 7 confirmations for finalized budget 2015-07-18 07:49:39 -07:00
Evan Duffield
853863ae86 Only check budget block payees after sync is complete 2015-07-18 06:46:54 -07:00
Evan Duffield
f9e2b18e57 version bump 2015-07-17 21:38:56 -07:00
Evan Duffield
916deaa398 Small syncing improvement 2015-07-17 21:38:15 -07:00
evan82
494afeef50 Merge pull request #439 from UdjinM6/v0.12.0.x_revert_lower_fee
V0.12.0.x revert attempts to lower fee
2015-07-17 20:15:04 -07:00
evan82
45cd565f6c Merge pull request #438 from UdjinM6/v0.12.0.x_register_MN
V0.12.0.x more checks on MN register (start-many/alias)
2015-07-17 20:14:49 -07:00
UdjinM6
990e32f3c0 revert all changes regarding attempts to lower fee 2015-07-18 03:35:59 +03:00
UdjinM6
bf1ec73357 more checks on MN register 2015-07-18 03:10:47 +03:00
Evan Duffield
59024b1b46 Resync on sleep/wake or failure 2015-07-17 16:49:41 -07:00