Cleanup: Moved all case classes out of RpcClient and made implicit ActorMaterializer and ExecutionContext be given when instantiating the client instead of with every call.

This commit is contained in:
Nadav Kohen 2018-05-30 09:46:30 -05:00 committed by nkohen
parent 9db6436573
commit 11b469e36f
3 changed files with 59 additions and 2 deletions

View file

@ -92,4 +92,41 @@ case class Node(
case class NodeAddress(
address: InetAddress,
connected: String
) extends NetworkResult
) extends NetworkResult
// Is Double the correct type for priorities? PRIORITY
case class GetMemPoolEntryResult(
size: Int,
fee: Bitcoins,
modifiedfee: Bitcoins,
time: UInt32,
height: Int,
startingpriority: Double,
currentpriority: Double,
descendantcount: Int,
descendantsize: Int,
descendantfees: Int,
ancestorcount: Int,
ancestorsize: Int,
ancestorfees: Int,
depends: Option[Array[DoubleSha256Digest]]
) extends NetworkResult
case class GetMemPoolInfoResult(
size: Int,
bytes: Int,
usage: Int,
maxmempool: Int,
mempoolminfee: Bitcoins,
minrelaytxfee: Bitcoins
) extends NetworkResult
case class GetTxOutSetInfoResult(
height: Int,
bestblock: DoubleSha256Digest,
transactions: Int,
txouts: Int,
bytes_serialized: Int,
hash_serialized: DoubleSha256Digest,
total_amount: Bitcoins
) extends NetworkResult

View file

@ -3,6 +3,8 @@ package org.bitcoins.rpc.jsonmodels
import org.bitcoins.core.crypto.DoubleSha256Digest
import org.bitcoins.core.currency.Bitcoins
import org.bitcoins.core.number.UInt32
import org.bitcoins.core.protocol.Address
import org.bitcoins.core.protocol.script.ScriptPubKey
sealed abstract class WalletResult
@ -19,4 +21,12 @@ case class GetWalletInfoResult(
paytxfee: Bitcoins,
hdmasterkeyid: DoubleSha256Digest, // Is this right?
unlocked_until: Option[Int]
) extends WalletResult
) extends WalletResult
case class BumpFeeResult(
txid: DoubleSha256Digest,
origfee: Bitcoins,
fee: Bitcoins,
warnings: String
) extends WalletResult
case class CreateMultiSigResult(address: Address, redeemScript: ScriptPubKey) extends WalletResult

View file

@ -40,9 +40,19 @@ object JsonSerializers {
implicit val nodeAddressReads: Reads[NodeAddress] = Json.reads[NodeAddress]
implicit val nodeReads: Reads[Node] = Json.reads[Node]
implicit val getMemPoolEntryResultReads: Reads[GetMemPoolEntryResult] = Json.reads[GetMemPoolEntryResult]
implicit val getMemPoolInfoResultReads: Reads[GetMemPoolInfoResult] = Json.reads[GetMemPoolInfoResult]
implicit val getTxOutSetInfoResultReads: Reads[GetTxOutSetInfoResult] = Json.reads[GetTxOutSetInfoResult]
// Mining Models
implicit val miningInfoReads: Reads[GetMiningInfoResult] = Json.reads[GetMiningInfoResult]
// Wallet Models
implicit val getWalletInfoResultReads: Reads[GetWalletInfoResult] = Json.reads[GetWalletInfoResult]
implicit val bumpFeeReads: Reads[BumpFeeResult] = Json.reads[BumpFeeResult]
implicit val createMultiSigReads: Reads[CreateMultiSigResult] = Json.reads[CreateMultiSigResult]
}