mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-02-23 22:56:52 +01:00
Added tests for fundRawTransaction, sendFrom, sendToAddress, sendMany, abandonTransaction, getRawTransaction, getTxOut, getTxOutProof, verifyTxOutProof, and getAddressesByAccount
This commit is contained in:
parent
00c2abcd48
commit
6938a882f7
3 changed files with 50 additions and 2 deletions
|
@ -7,7 +7,7 @@ import org.bitcoins.core.currency.Bitcoins
|
|||
import org.bitcoins.core.number.{Int32, UInt32, UInt64}
|
||||
import org.bitcoins.core.protocol.{Address, BitcoinAddress}
|
||||
import org.bitcoins.core.protocol.script.ScriptPubKey
|
||||
import org.bitcoins.core.protocol.transaction.{Transaction, TransactionInput}
|
||||
import org.bitcoins.core.protocol.transaction.{Transaction, TransactionInput, TransactionWitness}
|
||||
import org.bitcoins.core.wallet.fee.BitcoinFeeUnit
|
||||
|
||||
sealed abstract class NetworkResult
|
||||
|
@ -429,4 +429,39 @@ case class PeerNetworkInfo(
|
|||
timeoffset: Int,
|
||||
pingtime: Option[BigDecimal],
|
||||
minping: Option[BigDecimal],
|
||||
pingwait: Option[BigDecimal]) extends NetworkResult
|
||||
pingwait: Option[BigDecimal]) extends NetworkResult
|
||||
|
||||
|
||||
case class GetRawTransactionResult(
|
||||
in_active_blockchain: Option[Boolean],
|
||||
hex: Transaction,
|
||||
txid: DoubleSha256Digest,
|
||||
hash: DoubleSha256Digest,
|
||||
size: Int,
|
||||
vsize: Int,
|
||||
version: Int,
|
||||
locktime: UInt32,
|
||||
vin: Vector[GetRawTransactionVin],
|
||||
vout: Vector[RpcTransactionOutput],
|
||||
blockhash: DoubleSha256Digest,
|
||||
confirmations: Int,
|
||||
time: UInt32,
|
||||
blocktime: UInt32
|
||||
) extends NetworkResult
|
||||
|
||||
case class GetRawTransactionVin(
|
||||
txid: Option[DoubleSha256Digest],
|
||||
vout: Option[Int],
|
||||
scriptSig: Option[GetRawTransactionScriptSig],
|
||||
sequence: Option[BigDecimal],
|
||||
txinwitness: Option[Vector[String]] // Should be TransactionWitness?
|
||||
)
|
||||
|
||||
case class GetRawTransactionScriptSig(asm: String, hex: ScriptPubKey) // Right???
|
||||
|
||||
case class GetTxOutResult(
|
||||
bestblock: DoubleSha256Digest,
|
||||
confirmations: Int,
|
||||
value: Bitcoins,
|
||||
scriptPubKey: RpcScriptPubKey,
|
||||
coinbase: Boolean) extends NetworkResult
|
|
@ -223,6 +223,13 @@ object JsonSerializers {
|
|||
(__ \ "bytesrecv_per_msg").read[Map[String, Int]]
|
||||
) (Peer)
|
||||
|
||||
implicit val getRawTransactionScriptSigReads: Reads[GetRawTransactionScriptSig] = Json.reads[GetRawTransactionScriptSig]
|
||||
implicit val getRawTransactionVinReads: Reads[GetRawTransactionVin] = Json.reads[GetRawTransactionVin]
|
||||
implicit val getRawTransactionResultReads: Reads[GetRawTransactionResult] = Json.reads[GetRawTransactionResult]
|
||||
|
||||
implicit val getTxOutResultReads: Reads[GetTxOutResult] =
|
||||
Json.reads[GetTxOutResult]
|
||||
|
||||
// Mining Models
|
||||
implicit val miningInfoReads: Reads[GetMiningInfoResult] =
|
||||
Json.reads[GetMiningInfoResult]
|
||||
|
|
|
@ -36,4 +36,10 @@ object JsonWriters {
|
|||
implicit object UInt32Writes extends Writes[UInt32] {
|
||||
override def writes(o: UInt32): JsValue = JsNumber(o.toLong)
|
||||
}
|
||||
|
||||
implicit def mapWrites[K,V](keyString: K => String)(implicit vWrites: Writes[V]): Writes[Map[K,V]] = new Writes[Map[K,V]] {
|
||||
override def writes(o: Map[K, V]): JsValue = {
|
||||
Json.toJson(o.map{case (k, v) => (keyString(k), v)})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue