mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-02-25 07:17:32 +01:00
Merge branch 'master' into blockchain_package_and_base_traits
This commit is contained in:
commit
43bdbeb2e3
7 changed files with 22 additions and 21 deletions
|
@ -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.
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
*
|
*
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
*
|
*
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue