Merge branch 'master' into blockchain_package_and_base_traits

This commit is contained in:
Chris Stewart 2016-05-24 09:29:58 -05:00
commit 43bdbeb2e3
7 changed files with 22 additions and 21 deletions

View file

@ -1,13 +1,14 @@
package org.bitcoins.core.protocol.transaction
package org.bitcoins.core.protocol
import org.bitcoins.core.util.BitcoinSUtil
/**
* Created by chris on 1/14/16.
* Represents an element of a transction.
* Examples would be inputs, outputs, scriptSigs, scriptPubKeys etc.
*/
trait TransactionElement {
* Created by chris on 1/14/16.
* This represents a element that can be serialized to
* be sent over the network
*/
trait NetworkElement {
/**
* The size of the TransactionElement in bytes.

View file

@ -3,7 +3,6 @@ package org.bitcoins.core.protocol.script
import org.bitcoins.core.crypto.{ECFactory, ECPublicKey}
import org.bitcoins.core.serializers.script.{RawScriptPubKeyParser, ScriptParser}
import org.bitcoins.core.protocol._
import org.bitcoins.core.protocol.transaction.TransactionElement
import org.bitcoins.core.script.bitwise.{OP_EQUAL, OP_EQUALVERIFY}
import org.bitcoins.core.script.constant._
import org.bitcoins.core.script.crypto.{OP_CHECKMULTISIG, OP_CHECKMULTISIGVERIFY, OP_CHECKSIG, OP_HASH160}
@ -13,7 +12,7 @@ import org.bitcoins.core.util.{BitcoinSLogger, BitcoinScriptUtil, Factory}
/**
* Created by chris on 12/26/15.
*/
sealed trait ScriptPubKey extends TransactionElement with BitcoinSLogger {
sealed trait ScriptPubKey extends NetworkElement with BitcoinSLogger {
/**
* Representation of a scriptSignature in a parsed assembly format

View file

@ -1,7 +1,7 @@
package org.bitcoins.core.protocol.script
import org.bitcoins.core.crypto.{ECDigitalSignature, ECFactory, ECPublicKey, EmptyDigitalSignature}
import org.bitcoins.core.protocol.transaction.TransactionElement
import org.bitcoins.core.protocol.NetworkElement
import org.bitcoins.core.serializers.script.{RawScriptPubKeyParser, RawScriptSignatureParser, ScriptParser}
import org.bitcoins.core.script.constant._
import org.bitcoins.core.script.crypto.{HashType, HashTypeFactory, OP_CHECKMULTISIG, SIGHASH_ALL}
@ -14,7 +14,7 @@ import scala.util.{Failure, Success, Try}
* Created by chris on 12/26/15.
*
*/
sealed trait ScriptSignature extends TransactionElement with BitcoinSLogger {
sealed trait ScriptSignature extends NetworkElement with BitcoinSLogger {
/**
* Representation of a scriptSignature in a parsed assembly format

View file

@ -1,14 +1,15 @@
package org.bitcoins.core.protocol.transaction
import org.bitcoins.core.protocol.NetworkElement
import org.bitcoins.core.serializers.transaction.RawTransactionParser
import org.bitcoins.core.util.{Factory, BitcoinSUtil, CryptoUtil}
import org.bitcoins.core.util.{BitcoinSUtil, CryptoUtil, Factory}
/**
* Created by chris on 7/14/15.
*/
sealed trait Transaction extends TransactionElement {
sealed trait Transaction extends NetworkElement {
/**
* The sha256(sha256(tx)) of this transaction
*

View file

@ -1,7 +1,7 @@
package org.bitcoins.core.protocol.transaction
import org.bitcoins.core.serializers.transaction.RawTransactionInputParser
import org.bitcoins.core.protocol.CompactSizeUInt
import org.bitcoins.core.protocol.{CompactSizeUInt, NetworkElement}
import org.bitcoins.core.protocol.script.{ScriptPubKey, ScriptSignature}
import org.bitcoins.core.script.constant.ScriptToken
import org.bitcoins.core.util.{BitcoinSUtil, Factory}
@ -10,7 +10,7 @@ import org.bitcoins.core.util.{BitcoinSUtil, Factory}
* Created by chris on 12/26/15.
* Algebraic data type that represents a transaction input
*/
sealed trait TransactionInput extends TransactionElement {
sealed trait TransactionInput extends NetworkElement {
def previousOutput : TransactionOutPoint
def scriptSignature : ScriptSignature

View file

@ -1,5 +1,6 @@
package org.bitcoins.core.protocol.transaction
import org.bitcoins.core.protocol.NetworkElement
import org.bitcoins.core.serializers.transaction.RawTransactionOutPointParser
import org.bitcoins.core.util.Factory
@ -7,7 +8,7 @@ import org.bitcoins.core.util.Factory
* Created by chris on 12/26/15.
*
*/
sealed trait TransactionOutPoint extends TransactionElement {
sealed trait TransactionOutPoint extends NetworkElement {
/**
* The transaction id for the crediting transaction for this input
*

View file

@ -1,17 +1,16 @@
package org.bitcoins.core.protocol.transaction
import org.bitcoins.core.currency.{CurrencyUnits, CurrencyUnit, Satoshis}
import org.bitcoins.core.currency.{CurrencyUnit, CurrencyUnits, Satoshis}
import org.bitcoins.core.serializers.transaction.RawTransactionOutputParser
import org.bitcoins.core.protocol.CompactSizeUInt
import org.bitcoins.core.protocol.script.{ScriptPubKey}
import org.bitcoins.core.util.{Factory, BitcoinSUtil}
import org.bitcoins.core.protocol.{CompactSizeUInt, NetworkElement}
import org.bitcoins.core.protocol.script.ScriptPubKey
import org.bitcoins.core.util.{BitcoinSUtil, Factory}
/**
* Created by chris on 12/26/15.
*/
sealed trait TransactionOutput extends TransactionElement {
sealed trait TransactionOutput extends NetworkElement {
def value : CurrencyUnit
def scriptPubKey : ScriptPubKey