@Override protected void bitcoinSerializeToStream(OutputStream stream) throws IOException { vin.bitcoinSerialize(stream); pubkey.bitcoinSerialize(stream); pubkey2.bitcoinSerialize(stream); stream.write(new VarInt(vchSig.length).encode()); stream.write(vchSig); Utils.int64ToByteStreamLE(sigTime, stream); Utils.uint32ToByteStreamLE(count, stream); Utils.uint32ToByteStreamLE(current, stream); Utils.int64ToByteStreamLE(lastUpdated, stream); Utils.uint32ToByteStreamLE(protocolVersion, stream); }
@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.uint32ToByteStreamLE(protocolVersion, stream); lastPing.bitcoinSerialize(stream); Utils.int64ToByteStreamLE(nLastDsq, stream); }
@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); } }
public Sha256Hash getHash() { byte [] dataToHash = new byte[pubKeyCollateralAddress.getBytes().length+8]; Utils.uint32ToByteArrayLE(sigTime, dataToHash, 0); System.arraycopy(pubKeyCollateralAddress.getBytes(), 0, dataToHash, 8, pubKeyCollateralAddress.getBytes().length); try { UnsafeByteArrayOutputStream bos = new UnsafeByteArrayOutputStream(8 + vin.getMessageSize() + pubKeyCollateralAddress.calculateMessageSizeInBytes()); vin.bitcoinSerialize(bos); Utils.int64ToByteStreamLE(sigTime, bos); pubKeyCollateralAddress.bitcoinSerialize(bos); return Sha256Hash.wrapReversed(Sha256Hash.hashTwice((bos.toByteArray()))); } catch (IOException e) { throw new RuntimeException(e); // Cannot happen. } }