@Override
protected void bitcoinSerializeToStream(OutputStream stream) throws IOException {
vin.bitcoinSerialize(stream);
address.bitcoinSerialize(stream);
pubKeyCollateralAddress.bitcoinSerialize(stream);
pubKeyMasternode.bitcoinSerialize(stream);
sig.bitcoinSerialize(stream);
Utils.int64ToByteStreamLE(sigTime, stream);
Utils.int64ToByteStreamLE(nLastDsq, stream);
Utils.int64ToByteStreamLE(nTimeLastChecked, stream);
Utils.int64ToByteStreamLE(nTimeLastPaid, stream);
Utils.int64ToByteStreamLE(nTimeLastWatchdogVote, stream);
Utils.uint32ToByteStreamLE(activeState.getValue(), stream);
Utils.uint32ToByteStreamLE(nCacheCollateralBlock, stream);
Utils.uint32ToByteStreamLE(nBlockLastPaid, stream);
Utils.uint32ToByteStreamLE(protocolVersion, stream);
Utils.uint32ToByteStreamLE(nPoSeBanScore, stream);
Utils.uint32ToByteStreamLE(nPoSeBanHeight, stream);
byte value [] = new byte[1];
value[0] = (byte)(fAllowMixingTx ? 1 : 0);
stream.write(value);
value[0] = (byte)(unitTest ? 1 : 0);
stream.write(value);
stream.write(new VarInt(mapGovernanceObjectsVotedOn.size()).encode());
for(Map.Entry<Sha256Hash, Integer> e: mapGovernanceObjectsVotedOn.entrySet())
{
stream.write(e.getKey().getReversedBytes());
Utils.uint32ToByteStreamLE(e.getValue(), stream);
}
}