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 import org.bitcoins.core.util.BitcoinSUtil
/** /**
* Created by chris on 1/14/16. * Created by chris on 1/14/16.
* Represents an element of a transction. * This represents a element that can be serialized to
* Examples would be inputs, outputs, scriptSigs, scriptPubKeys etc. * be sent over the network
*/ */
trait TransactionElement { trait NetworkElement {
/** /**
* The size of the TransactionElement in bytes. * 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.crypto.{ECFactory, ECPublicKey}
import org.bitcoins.core.serializers.script.{RawScriptPubKeyParser, ScriptParser} import org.bitcoins.core.serializers.script.{RawScriptPubKeyParser, ScriptParser}
import org.bitcoins.core.protocol._ 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.bitwise.{OP_EQUAL, OP_EQUALVERIFY}
import org.bitcoins.core.script.constant._ import org.bitcoins.core.script.constant._
import org.bitcoins.core.script.crypto.{OP_CHECKMULTISIG, OP_CHECKMULTISIGVERIFY, OP_CHECKSIG, OP_HASH160} 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. * 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 * Representation of a scriptSignature in a parsed assembly format

View file

@ -1,7 +1,7 @@
package org.bitcoins.core.protocol.script package org.bitcoins.core.protocol.script
import org.bitcoins.core.crypto.{ECDigitalSignature, ECFactory, ECPublicKey, EmptyDigitalSignature} 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.serializers.script.{RawScriptPubKeyParser, RawScriptSignatureParser, ScriptParser}
import org.bitcoins.core.script.constant._ import org.bitcoins.core.script.constant._
import org.bitcoins.core.script.crypto.{HashType, HashTypeFactory, OP_CHECKMULTISIG, SIGHASH_ALL} 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. * 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 * Representation of a scriptSignature in a parsed assembly format

View file

@ -1,14 +1,15 @@
package org.bitcoins.core.protocol.transaction package org.bitcoins.core.protocol.transaction
import org.bitcoins.core.protocol.NetworkElement
import org.bitcoins.core.serializers.transaction.RawTransactionParser 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. * Created by chris on 7/14/15.
*/ */
sealed trait Transaction extends TransactionElement { sealed trait Transaction extends NetworkElement {
/** /**
* The sha256(sha256(tx)) of this transaction * The sha256(sha256(tx)) of this transaction
* *

View file

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

View file

@ -1,5 +1,6 @@
package org.bitcoins.core.protocol.transaction package org.bitcoins.core.protocol.transaction
import org.bitcoins.core.protocol.NetworkElement
import org.bitcoins.core.serializers.transaction.RawTransactionOutPointParser import org.bitcoins.core.serializers.transaction.RawTransactionOutPointParser
import org.bitcoins.core.util.Factory import org.bitcoins.core.util.Factory
@ -7,7 +8,7 @@ import org.bitcoins.core.util.Factory
* Created by chris on 12/26/15. * 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 * The transaction id for the crediting transaction for this input
* *

View file

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