From 0c9d09b8559cb295014120aea29df3c839c21bf9 Mon Sep 17 00:00:00 2001 From: Chris Stewart Date: Sat, 26 Dec 2015 21:03:43 -0600 Subject: [PATCH] Factoring out transaction components into their own scala files --- .../protocol/transaction/Transaction.scala | 16 +++++----------- .../protocol/transaction/TransactionInput.scala | 13 +++++++++++++ .../transaction/TransactionOutPoint.scala | 9 +++++++++ .../protocol/transaction/TransactionOutput.scala | 15 +++++++++++++++ 4 files changed, 42 insertions(+), 11 deletions(-) create mode 100644 src/main/scala/org/scalacoin/protocol/transaction/TransactionInput.scala create mode 100644 src/main/scala/org/scalacoin/protocol/transaction/TransactionOutPoint.scala create mode 100644 src/main/scala/org/scalacoin/protocol/transaction/TransactionOutput.scala diff --git a/src/main/scala/org/scalacoin/protocol/transaction/Transaction.scala b/src/main/scala/org/scalacoin/protocol/transaction/Transaction.scala index 72f6d4a650..c4c46a24a6 100644 --- a/src/main/scala/org/scalacoin/protocol/transaction/Transaction.scala +++ b/src/main/scala/org/scalacoin/protocol/transaction/Transaction.scala @@ -12,7 +12,7 @@ trait Transaction { def txInCount : VarInt def txIn : Seq[TxIn] def txOutCount : VarInt - def txOut : TxOut + def txOut : Seq[TxOut] def lockTime : Long } @@ -22,22 +22,16 @@ case class NetworkTx(serialization : String ) extends Transaction { override def txInCount : VarInt = NetworkVarInt("FF") override def txIn : Seq[TxIn] = Seq() override def txOutCount : VarInt = NetworkVarInt("FF") - override def txOut : TxOut = TxOut(1,NetworkVarInt("FF"), Seq()) + override def txOut : TxOut = (1,NetworkVarInt("FF"), Seq()) override def lockTime : Long = 0 } -trait TxIn { - - def prevousOutput : OutPoint - def scriptLength : VarInt - def scriptSignature : Seq[Char] - def sequence : Long -} -case class OutPoint(hash : Seq[Char], index : Long) -case class TxOut(value : Long, pkScriptLength : VarInt, pkScript : Seq[Char]) + + + diff --git a/src/main/scala/org/scalacoin/protocol/transaction/TransactionInput.scala b/src/main/scala/org/scalacoin/protocol/transaction/TransactionInput.scala new file mode 100644 index 0000000000..7a4005966c --- /dev/null +++ b/src/main/scala/org/scalacoin/protocol/transaction/TransactionInput.scala @@ -0,0 +1,13 @@ +package org.scalacoin.protocol.transaction + +import org.scalacoin.protocol.VarInt + +/** + * Created by chris on 12/26/15. + */ +trait TransactionInput { + def previousOutput : OutPoint + def scriptLength : VarInt + def scriptSignature : Seq[Char] + def sequence : Long +} diff --git a/src/main/scala/org/scalacoin/protocol/transaction/TransactionOutPoint.scala b/src/main/scala/org/scalacoin/protocol/transaction/TransactionOutPoint.scala new file mode 100644 index 0000000000..49f6febade --- /dev/null +++ b/src/main/scala/org/scalacoin/protocol/transaction/TransactionOutPoint.scala @@ -0,0 +1,9 @@ +package org.scalacoin.protocol.transaction + +/** + * Created by chris on 12/26/15. + */ +trait TransactionOutPoint { + def hash : Seq[Char] + def index : Long +} diff --git a/src/main/scala/org/scalacoin/protocol/transaction/TransactionOutput.scala b/src/main/scala/org/scalacoin/protocol/transaction/TransactionOutput.scala new file mode 100644 index 0000000000..01b7771f38 --- /dev/null +++ b/src/main/scala/org/scalacoin/protocol/transaction/TransactionOutput.scala @@ -0,0 +1,15 @@ +package org.scalacoin.protocol.transaction + +import org.scalacoin.currency.Satoshis +import org.scalacoin.protocol.VarInt + +/** + * Created by chris on 12/26/15. + */ +trait TransactionOutput { + + def value : Satoshis + def pkScriptLength : VarInt + def pkScript : Seq[Char] + +}