package com.yoghurt.crypto.transactions.shared.domain;
import java.util.ArrayList;
import java.util.Arrays;
public class Transaction {
private byte[] txId;
private long version;
private long lockTime;
private VariableLengthInteger inputSize;
private ArrayList<TransactionInput> inputs;
private VariableLengthInteger outputSize;
private ArrayList<TransactionOutput> outputs;
public byte[] getTransactionId() {
return txId;
}
public void setTransactionId(final byte[] txId) {
this.txId = txId;
}
public long getVersion() {
return version;
}
public void setVersion(final long version) {
this.version = version;
}
public VariableLengthInteger getInputSize() {
return inputSize;
}
public void setInputSize(final VariableLengthInteger inputSize) {
this.inputSize = inputSize;
}
public ArrayList<TransactionInput> getInputs() {
return inputs;
}
public void setInputs(final ArrayList<TransactionInput> inputs) {
this.inputs = inputs;
}
public VariableLengthInteger getOutputSize() {
return outputSize;
}
public void setOutputSize(final VariableLengthInteger outputSize) {
this.outputSize = outputSize;
}
public ArrayList<TransactionOutput> getOutputs() {
return outputs;
}
public void setOutputs(final ArrayList<TransactionOutput> outputs) {
this.outputs = outputs;
}
public long getLockTime() {
return lockTime;
}
public void setLockTime(final long lockTime) {
this.lockTime = lockTime;
}
public boolean isCoinbase() {
return !inputs.isEmpty() && inputs.get(0).isCoinbase();
}
@Override
public String toString() {
return "Transaction [txId=" + Arrays.toString(txId) + ", version=" + version + ", lockTime=" + lockTime + ", inputSize=" + inputSize + ", inputs=" + inputs + ", outputSize=" + outputSize + ", outputs=" + outputs + "]";
}
}