mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-02-23 06:45:21 +01:00
Bitcoind Version from String (#2421)
This commit is contained in:
parent
5d7df23006
commit
e9f6f7be30
1 changed files with 16 additions and 4 deletions
|
@ -1,7 +1,5 @@
|
||||||
package org.bitcoins.rpc.client.common
|
package org.bitcoins.rpc.client.common
|
||||||
|
|
||||||
import java.io.File
|
|
||||||
|
|
||||||
import akka.actor.ActorSystem
|
import akka.actor.ActorSystem
|
||||||
import org.bitcoins.core.api.chain.db.{
|
import org.bitcoins.core.api.chain.db.{
|
||||||
BlockHeaderDb,
|
BlockHeaderDb,
|
||||||
|
@ -18,7 +16,11 @@ import org.bitcoins.core.protocol.blockchain.BlockHeader
|
||||||
import org.bitcoins.core.protocol.transaction.Transaction
|
import org.bitcoins.core.protocol.transaction.Transaction
|
||||||
import org.bitcoins.core.util.FutureUtil
|
import org.bitcoins.core.util.FutureUtil
|
||||||
import org.bitcoins.core.wallet.fee.FeeUnit
|
import org.bitcoins.core.wallet.fee.FeeUnit
|
||||||
import org.bitcoins.crypto.{DoubleSha256Digest, DoubleSha256DigestBE}
|
import org.bitcoins.crypto.{
|
||||||
|
DoubleSha256Digest,
|
||||||
|
DoubleSha256DigestBE,
|
||||||
|
StringFactory
|
||||||
|
}
|
||||||
import org.bitcoins.rpc.client.v16.BitcoindV16RpcClient
|
import org.bitcoins.rpc.client.v16.BitcoindV16RpcClient
|
||||||
import org.bitcoins.rpc.client.v17.BitcoindV17RpcClient
|
import org.bitcoins.rpc.client.v17.BitcoindV17RpcClient
|
||||||
import org.bitcoins.rpc.client.v18.BitcoindV18RpcClient
|
import org.bitcoins.rpc.client.v18.BitcoindV18RpcClient
|
||||||
|
@ -26,6 +28,7 @@ import org.bitcoins.rpc.client.v19.BitcoindV19RpcClient
|
||||||
import org.bitcoins.rpc.client.v20.BitcoindV20RpcClient
|
import org.bitcoins.rpc.client.v20.BitcoindV20RpcClient
|
||||||
import org.bitcoins.rpc.config.{BitcoindConfig, BitcoindInstance}
|
import org.bitcoins.rpc.config.{BitcoindConfig, BitcoindInstance}
|
||||||
|
|
||||||
|
import java.io.File
|
||||||
import scala.concurrent.Future
|
import scala.concurrent.Future
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -274,11 +277,13 @@ object BitcoindRpcClient {
|
||||||
|
|
||||||
sealed trait BitcoindVersion
|
sealed trait BitcoindVersion
|
||||||
|
|
||||||
object BitcoindVersion {
|
object BitcoindVersion extends StringFactory[BitcoindVersion] {
|
||||||
|
|
||||||
/** The newest version of `bitcoind` we support */
|
/** The newest version of `bitcoind` we support */
|
||||||
val newest: BitcoindVersion = V20
|
val newest: BitcoindVersion = V20
|
||||||
|
|
||||||
|
val known = Vector(V16, V17, V18, V19, V20, Experimental)
|
||||||
|
|
||||||
case object V16 extends BitcoindVersion {
|
case object V16 extends BitcoindVersion {
|
||||||
override def toString: String = "v0.16"
|
override def toString: String = "v0.16"
|
||||||
}
|
}
|
||||||
|
@ -307,4 +312,11 @@ object BitcoindVersion {
|
||||||
override def toString: String = "Unknown"
|
override def toString: String = "Unknown"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override def fromStringOpt(str: String): Option[BitcoindVersion] = {
|
||||||
|
known.find(_.toString.toLowerCase == str.toLowerCase)
|
||||||
|
}
|
||||||
|
|
||||||
|
override def fromString(string: String): BitcoindVersion = {
|
||||||
|
fromStringOpt(string).get
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue