Added getmininginfo, getchaintips and getnetworkinfo functionality

This commit is contained in:
Nadav Kohen 2018-05-29 10:31:13 -05:00 committed by nkohen
parent 1675051c35
commit 680d3d211a
3 changed files with 73 additions and 0 deletions

View file

@ -0,0 +1,43 @@
package org.bitcoins.rpc.jsonmodels
import org.bitcoins.core.crypto.DoubleSha256Digest
import org.bitcoins.core.currency.Bitcoins
sealed abstract class NetworkResult
case class ChainTip(
height: Int,
hash: DoubleSha256Digest,
branchlen: Int,
status: String
) extends NetworkResult
case class GetNetworkInfoResult(
version: Int,
subversion: String,
protocolversion: Int,
localservices: String,
localrelay: Boolean,
timeoffset: Int,
networkactive: Boolean,
connections: Int,
networks: Array[Network],
relayfee: Bitcoins,
incrementalfee: Bitcoins,
localadresses: Option[Array[NetworkAddress]],
warnings: String
) extends NetworkResult
case class Network(
name: String,
limited: Boolean,
reachable: Boolean,
proxy: String,
proxy_randomize_credentials: Boolean
) extends NetworkResult
case class NetworkAddress(
address: String,
port: Int,
score: Int
) extends NetworkResult

View file

@ -0,0 +1,5 @@
package org.bitcoins.rpc.jsonmodels
class WalletResult {
}

View file

@ -0,0 +1,25 @@
package org.bitcoins.rpc.serializers
import org.bitcoins.core.crypto.DoubleSha256Digest
import org.bitcoins.core.currency.Bitcoins
import org.bitcoins.rpc.jsonmodels._
import org.bitcoins.rpc.serializers.JsonReaders._
import play.api.libs.json.{Json, Reads}
object JsonSerializers {
// Internal Types
implicit val doubleSha256DigestReads: Reads[DoubleSha256Digest] = DoubleSha256DigestReads
implicit val bitcoinsReads: Reads[Bitcoins] = BitcoinsReads
// Network Models
implicit val networkReads: Reads[Network] = Json.reads[Network]
implicit val networkAddressReads: Reads[NetworkAddress] = Json.reads[NetworkAddress]
implicit val networkInfoReads: Reads[GetNetworkInfoResult] = Json.reads[GetNetworkInfoResult]
implicit val chainTipReads: Reads[ChainTip] = Json.reads[ChainTip]
// Mining Models
implicit val minginInfoReads: Reads[GetMiningInfoResult] = Json.reads[GetMiningInfoResult]
// Wallet Models
}