public boolean isOutputAvailable(int index) { checkIndex(index); if (trimmedOutputs == null) { return index < super.getOutputs().size(); } else { return trimmedOutputs.containsKey(index); } }
private long getNumberOfOutputs() { if (tx instanceof TrimmedTransaction) { return ((TrimmedTransaction) tx).getNumberOfOutputs(); } else { return tx.getOutputs().size(); } }
@Override public List<TransactionOutput> getOutputs() { return getOutputs(true); }
List<TransactionOutput> outputs = txFull.getOutputs(); TrimmedTransaction tx = new TrimmedTransaction(type, hash, outputs.size()); TransactionConfidence txConf = tx.getConfidence(); txConf.setSource(fullTxConf.getSource()); txConf.setConfidenceType(fullTxConf.getConfidenceType()); tx.setTime(txFull.getTime()); tx.setTokenId(txFull.getTokenId()); tx.setExtraBytes(txFull.getExtraBytes()); tx.setUpdateTime(txFull.getUpdateTime()); tx.setLockTime(txFull.getLockTime()); tx.addBlockAppearance(appears.getKey(), appears.getValue()); tx.setPurpose(txFull.getPurpose()); for (TransactionOutput output : outputs) { if (output.isMineOrWatched(this)) { tx.addOutput(outputIndex, output); tx.addAllOutputs(outputs);
numOfOutputs = txProto.getTransactionOutputList().size(); tx = new TrimmedTransaction(params, hash, numOfOutputs); } else { tx = new Transaction(params); checkState(outputProto.getIndex() > lastIndex, "Output index is not in the correct order"); lastIndex = outputProto.getIndex(); ((TrimmedTransaction) tx).addOutput(lastIndex, output); } else { ((TrimmedTransaction) tx).addOutput(++lastIndex, output);
if (isTrimmed && !((TrimmedTransaction) tx).hasAllOutputs()) { txBuilder.setNumOfOutputs(((TrimmedTransaction) tx).getNumberOfOutputs()); hasAllOutputs = false;
private boolean isOutputAvailable(int index) { if (tx instanceof TrimmedTransaction) { return ((TrimmedTransaction) tx).isOutputAvailable(index); } else { return index < getNumberOfOutputs(); } }
@Override public TransactionOutput getOutput(int index) { checkIndex(index); if (trimmedOutputs == null) { return super.getOutput(index); } else { TransactionOutput output = trimmedOutputs.get(index); // Trimmed outputs are empty if (output == null) { return EmptyTransactionOutput.get(); } else { return output; } } }
public List<TransactionOutput> getOutputs(boolean includeEmptyOutputs) { if (tx instanceof TrimmedTransaction) { return ((TrimmedTransaction) tx).getOutputs(includeEmptyOutputs); } else { return tx.getOutputs(); } }