boolean canProcessInstantXMessages() { if(context.isLiteMode() && !context.allowInstantXinLiteMode()) return false; //disable all darksend/masternode related functionality if(!context.sporkManager.isSporkActive(SPORK_2_INSTANTSEND_ENABLED)) return false; if(!context.masternodeSync.isBlockchainSynced()) return false; return true; }
void processSpork(Peer from, SporkMessage spork) { if (context.isLiteMode() && !context.allowInstantXinLiteMode()) return; //disable all darksend/masternode related functionality Sha256Hash hash = spork.getHash(); if (mapSporksActive.containsKey(spork.nSporkID)) { if (mapSporksActive.get(spork.nSporkID).nTimeSigned >= spork.nTimeSigned) { log.info("spork - seen "+hash.toString()+" block " + blockChain.getBestChainHeight()); return; } else { log.info("spork - got updated spork "+hash.toString()+" block " +blockChain.getBestChainHeight()); } } log.info("spork - new "+hash.toString()+" ID "+spork.nSporkID+" Time "+spork.nTimeSigned+" bestHeight" + blockChain.getBestChainHeight()); if (!spork.checkSignature(sporkPubKeyId)) { log.info("spork - invalid signature"); //Misbehaving(pfrom -> GetId(), 100); return; } mapSporks.put(hash, spork); mapSporksActive.put(spork.nSporkID, spork); relay(spork); //does a task if needed executeSpork(spork.nSporkID, spork.nValue); } /*
public boolean isValid(Peer peer) if(Context.get().isLiteMode()) return true;
case MasterNodeQuarum: break; case MasterNodeAnnounce: if(context.isLiteMode()) break; masternodeBroadcasts.add(item); break; case MasterNodePing: if(context.isLiteMode()) break; masternodePings.add(item); break;
@Override public void run() { if(context.isLiteMode() && !context.allowInstantXinLiteMode()) return; //disable all Darksend/Masternode related functionality
if(context.isLiteMode() && context.allowInstantXinLiteMode()) { RequestedMasternodeAssets = MASTERNODE_SYNC_FINISHED; queueOnSyncStatusChanged(RequestedMasternodeAssets, 1.0);
if(context.isLiteMode()) return -3; // We don't have a masternode list
if(!context.isLiteMode()) context.masternodeManager.processMasternodeBroadcast((MasternodeBroadcast)m); if(!context.isLiteMode()) context.masternodeManager.processMasternodePing(this, (MasternodePing)m);