package network.message;
import qora.transaction.Transaction;
import qora.transaction.TransactionFactory;
import com.google.common.primitives.Bytes;
public class TransactionMessage extends Message{
private Transaction transaction;
public TransactionMessage(Transaction transaction)
{
super(TRANSACTION_TYPE);
this.transaction = transaction;
}
public Transaction getTransaction()
{
return this.transaction;
}
public static TransactionMessage parse(byte[] data) throws Exception
{
//PARSE TRANSACTION
Transaction transaction = TransactionFactory.getInstance().parse(data);
return new TransactionMessage(transaction);
}
public byte[] toBytes()
{
byte[] data = new byte[0];
//WRITE BLOCK
byte[] blockBytes = this.transaction.toBytes();
data = Bytes.concat(data, blockBytes);
//ADD CHECKSUM
data = Bytes.concat(super.toBytes(), this.generateChecksum(data), data);
return data;
}
protected int getDataLength()
{
return this.transaction.getDataLength();
}
}