(WIP) Createwallet rpc from V17 (#712)

* create wallet rpc

* fixed test

* change to createwallet test

* create wallet test
This commit is contained in:
cwaldron97 2019-08-21 16:34:11 -05:00 committed by Chris Stewart
parent 1619d5d123
commit a2bbffe3ab
4 changed files with 27 additions and 0 deletions

View file

@ -234,4 +234,15 @@ class BitcoindV17RpcClientTest extends BitcoindRpcTest {
assert(list.forall(_.label != unusedLabel))
}
}
it should "create a wallet" in {
for {
(client, _) <- clientsF
_ <- client.createWallet("suredbits")
wallets <- client.listWallets
} yield {
assert(wallets.exists(_ == "suredbits"))
}
}
}

View file

@ -13,6 +13,7 @@ import org.bitcoins.rpc.client.common.{
import org.bitcoins.rpc.config.BitcoindInstance
import org.bitcoins.rpc.jsonmodels.{
AddressInfoResult,
CreateWalletResult,
SignRawTransactionResult,
TestMempoolAcceptResult
}
@ -93,6 +94,13 @@ class BitcoindV17RpcClient(override val instance: BitcoindInstance)(
.map(_.head)
}
def createWallet(
walletName: String,
disablePrivateKeys: Boolean = false): Future[CreateWalletResult] = {
bitcoindCall[CreateWalletResult](
"createwallet",
List(JsString(walletName), Json.toJson(disablePrivateKeys)))
}
}
object BitcoindV17RpcClient {

View file

@ -224,3 +224,8 @@ case class EmbeddedResult(
extends WalletResult
case class LabelResult(name: String, purpose: LabelPurpose) extends WalletResult
final case class CreateWalletResult(
name: String,
warning: String
) extends WalletResult

View file

@ -379,6 +379,9 @@ object JsonSerializers {
implicit val testMempoolAcceptResultReads: Reads[TestMempoolAcceptResult] =
TestMempoolAcceptResultReads
implicit val createWalletResultReads: Reads[CreateWalletResult] =
Json.reads[CreateWalletResult]
// Map stuff
implicit def mapDoubleSha256DigestReads: Reads[
Map[DoubleSha256Digest, GetMemPoolResult]] =