Commit Graph

126 Commits

Author SHA1 Message Date
Evan Duffield
61223ed147 Fix dseg message 2015-08-14 09:15:50 -07:00
UdjinM6
001b8cf709 more fixes - dsee updated entry 2015-08-14 08:11:57 +03:00
UdjinM6
61239dbb36 more fixes - misbehave / rpc 2015-08-14 06:18:08 +03:00
UdjinM6
f0790ed32c fix dseep flood / log output 2015-08-14 04:14:08 +03:00
UdjinM6
840a50a089 cleanups:
- typos
- remove `mnodeman.` inside `CMasternodeMan::`
2015-08-12 23:54:01 +03:00
UdjinM6
4cec1d9dad fix CPU exhausting by dsee flood 2015-08-12 17:29:43 +03:00
UdjinM6
cbecd3bfa8 fix 2015-08-12 15:35:58 +03:00
UdjinM6
d636e74b59 fix dsee / log output 2015-08-12 04:58:23 +03:00
UdjinM6
7f916e4702 manage DS connections to masternodes properly 2015-08-11 09:00:46 +03:00
UdjinM6
81d96a2b52 fix bug with dsee/dseep proto check 2015-08-10 13:21:58 +03:00
UdjinM6
4c3f04b834 do not add/update v12 MNs from dsee/dseep 2015-08-10 02:47:35 +03:00
UdjinM6
e599928ed3 fix bugs in v12 dsee/dseep 2015-08-10 01:32:09 +03:00
UdjinM6
5bd997f255 more dsee/dseep for migration:
- inject our node in old masrternodes' list / ping accordingly
- ignore dsee/dseep after SPORK_10_MASTERNODE_PAY_UPDATED_NODES is activated
2015-08-09 16:17:19 +03:00
UdjinM6
ba37415328 support old masternodes 2015-08-09 04:07:58 +03:00
evan82
dac2b0fae5 Merge pull request #490 from UdjinM6/v0.12.0.x_process_on_IsBlockchainSynced
V0.12.0.x process DS,IX,MN,DGBB on IsBlockchainSynced, not on IBD
2015-08-07 06:18:50 -07:00
UdjinM6
8063bcc8aa process DS,IX,MN,DGBB on IsBlockchainSynced, not on IBD 2015-08-07 07:48:55 +03:00
UdjinM6
f57c470f95 ask for mn / lower ban score for mnw 2015-08-07 06:07:40 +03:00
evan82
e05622037c Merge pull request #477 from UdjinM6/v0.12.0.x_locks
V0.12.0.x more locks fixes
2015-08-05 14:31:29 -07:00
UdjinM6
6b74652b01 track hashes and update "last..." only twice per hash 2015-08-05 04:18:37 +03:00
UdjinM6
ff159ad7e7 ConnectNode/FindNide:
- Use FindNode instead of explicit loops
- Do not use FindNode where we can grab node right from ConnectNode (slightly less cs_vNodes)
2015-08-05 01:38:54 +03:00
UdjinM6
dd8fa7c365 Continue work on more debug categories
- rebased to latest v12
- masternode, mnpayments, mnbudget and keepass categories
- remove c_str in logprint(f)
2015-07-31 19:01:18 +03:00
UdjinM6
9ab4a72454 cleanups/fixes:
- use map.insert instead of [] (should be safer)
- debug output / comments / spaces / names
- fix few long strings / make translatable one more label in UI
2015-07-30 19:12:05 +03:00
UdjinM6
afd715286a fix all kind of lock issues 2015-07-30 16:44:18 +03:00
UdjinM6
36bb9d6e27 FindRandomNotInVec - should give less failures then FindRandom on doauto 2015-07-30 06:27:29 -07:00
Evan Duffield
0edb236801 Fixed item count functionality and sync with no budegt 2015-07-29 01:06:30 -07:00
Evan Duffield
dc829e9d2c added syncing counts 2015-07-28 21:16:11 -07:00
Evan Duffield
145c845d1f Changed vote restrition model
- Masternodes can only vote once per hour now, instead of 100 times a day total
- UI reports back errors now
2015-07-26 07:01:49 -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
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
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
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
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
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
d193cc2d91 Clean up broadcast list when nodes are removed 2015-07-20 12:20:15 -07:00
UdjinM6
753297ea99 drop -masternodeminprotocol/nMasternodeMinProtocol, use masternodePayments.GetMinMasternodePaymentsProto() 2015-07-20 08:03:36 +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
9668befdf4 Dont ask for mnb of known masternodes 2015-07-19 09:38:23 -07:00
Evan Duffield
d5c4f3bea4 Only ask for missing masternodes/budget items after sync is complete 2015-07-17 11:03:49 -07:00
UdjinM6
91eda7e21c Few sync improvements:
- do not call Added....() inside CMasternodeSync::Process() - that was "faking" sync process
- unify "RequestedMasternodeAttempt <= ..." logic and define MASTERNODE_SYNC_TIMEOUT
- add missing masternodeSync.AddedMasternodeList() to CMasternodeMan::ProcessMessage()
- fix "include"s
- don't check vecMasternodesUsed while not synced
2015-07-17 13:08:15 +03:00
UdjinM6
26fed43603 Major masternode broadcast/ping changes (incompatible with prev version, proto bump required):
- Do not rely on local lastTimeSeen and requested fRequested anymore. Use last know (signed) ping instead and base all logic on that. Should reduce mn list difference between
 nodes.
- Rework CActiveMasternode accordingly along with states, errorMessages, rpc etc.
- Clean some related code, move parts from public to private
- drop c_str in LogPrintf that were related to this functionality (todo: drop it for LogPrintf everywhere else)
2015-07-14 08:50:30 +03:00
UdjinM6
635778f0ab use spork dependent logic to get the right minimal proto everywhere MIN_MNPAYMENTS_PROTO_VERSION was used previously 2015-07-08 05:00:09 +03:00
Evan Duffield
d8a6057205 Fixed issues with budget syncing 2015-07-02 08:07:30 -07:00
Evan Duffield
2b75faefee Various fixes improvements
- Implemented spork for only paying new nodes after a period of time on mainnet
- protocol bump
- fixed a few issues with sporks. Spork show now shows all sporks, instead of the changed ones. IsSporkActive now supports sporks set to 0 as on.
2015-06-25 12:59:11 -07:00