private void assertOutputsEquals(List<TransactionOutput> expected, List<TransactionOutput> actual) { assertEquals(expected.size(), actual.size()); for (int i = 0; i < expected.size(); i++) { assertArrayEquals(expected.get(i).bitcoinSerialize(), actual.get(i).bitcoinSerialize()); } }
private void assertOutputsEquals(List<TransactionOutput> expected, List<TransactionOutput> actual) { assertEquals(expected.size(), actual.size()); for (int i = 0; i < expected.size(); i++) { assertArrayEquals(expected.get(i).bitcoinSerialize(), actual.get(i).bitcoinSerialize()); } }
@Override protected void bitcoinSerializeToStream(OutputStream stream) throws IOException { uint32ToByteStreamLE(version, stream); stream.write(new VarInt(inputs.size()).encode()); for (TransactionInput in : inputs) in.bitcoinSerialize(stream); stream.write(new VarInt(outputs.size()).encode()); for (TransactionOutput out : outputs) out.bitcoinSerialize(stream); uint32ToByteStreamLE(lockTime, stream); }
@Override protected void bitcoinSerializeToStream(OutputStream stream) throws IOException { uint32ToByteStreamLE(version, stream); stream.write(new VarInt(inputs.size()).encode()); for (TransactionInput in : inputs) in.bitcoinSerialize(stream); stream.write(new VarInt(outputs.size()).encode()); for (TransactionOutput out : outputs) out.bitcoinSerialize(stream); uint32ToByteStreamLE(lockTime, stream); }
protected void bitcoinSerializeToStream(OutputStream stream, int transactionOptions) throws IOException { boolean witSupported = (transactionOptions & TransactionOptions.WITNESS) != 0; boolean serializeWit = hasWitness() && witSupported; uint32ToByteStreamLE(version, stream); if (serializeWit) { stream.write(new byte[]{0, 1}); } stream.write(new VarInt(inputs.size()).encode()); for (TransactionInput in : inputs) in.bitcoinSerialize(stream); stream.write(new VarInt(outputs.size()).encode()); for (TransactionOutput out : outputs) out.bitcoinSerialize(stream); if (serializeWit) { for (int i = 0; i < inputs.size(); i++) { TransactionWitness witness = getWitness(i); stream.write(new VarInt(witness.getPushCount()).encode()); for (int y = 0; y < witness.getPushCount(); y++) { byte[] push = witness.getPush(y); stream.write(new VarInt(push.length).encode()); stream.write(push); } } } uint32ToByteStreamLE(lockTime, stream); }
protected void bitcoinSerializeToStream(OutputStream stream, int transactionOptions) throws IOException { boolean witSupported = (protocolVersion >= NetworkParameters.ProtocolVersion.WITNESS_VERSION.getBitcoinProtocolVersion()) && (transactionOptions & TransactionOptions.WITNESS) != 0; boolean serializeWit = hasWitness() && witSupported; uint32ToByteStreamLE(version, stream); if (serializeWit) { stream.write(new byte[]{0, 1}); } stream.write(new VarInt(inputs.size()).encode()); for (TransactionInput in : inputs) in.bitcoinSerialize(stream); stream.write(new VarInt(outputs.size()).encode()); for (TransactionOutput out : outputs) out.bitcoinSerialize(stream); if (serializeWit) { for (int i = 0; i < inputs.size(); i++) { TransactionWitness witness = getWitness(i); stream.write(new VarInt(witness.getPushCount()).encode()); for (int y = 0; y < witness.getPushCount(); y++) { byte[] push = witness.getPush(y); stream.write(new VarInt(push.length).encode()); stream.write(push); } } } uint32ToByteStreamLE(lockTime, stream); }
req.tx.getOutputs().get(i).bitcoinSerialize(), 0); if (req.recipientsPayFees) {
minNonDust.add(Coin.SATOSHI)).toCoin(); } else { size += changeOutput.bitcoinSerialize().length + VarInt.sizeOf(tx.getOutputs().size()) - VarInt.sizeOf(tx.getOutputs().size() - 1);
minNonDust.add(Coin.SATOSHI)).toCoin(); } else { size += changeOutput.bitcoinSerialize().length + VarInt.sizeOf(tx.getOutputs().size()) - VarInt.sizeOf(tx.getOutputs().size() - 1);