From 3b5bb9fd43eaab2dc902c47b4900b8161b77330a Mon Sep 17 00:00:00 2001 From: David Hill Date: Wed, 19 Oct 2016 14:02:52 -0400 Subject: [PATCH] btcjson: Add preciousblock --- btcjson/chainsvrcmds.go | 14 ++++++++++++++ btcjson/chainsvrcmds_test.go | 13 +++++++++++++ rpcserver.go | 3 +++ 3 files changed, 30 insertions(+) diff --git a/btcjson/chainsvrcmds.go b/btcjson/chainsvrcmds.go index c16e97ab..352ea938 100644 --- a/btcjson/chainsvrcmds.go +++ b/btcjson/chainsvrcmds.go @@ -534,6 +534,19 @@ func NewPingCmd() *PingCmd { return &PingCmd{} } +// PreciousBlockCmd defines the preciousblock JSON-RPC command. +type PreciousBlockCmd struct { + BlockHash string +} + +// NewPreciousBlockCmd returns a new instance which can be used to issue a +// preciousblock JSON-RPC command. +func NewPreciousBlockCmd(blockHash string) *PreciousBlockCmd { + return &PreciousBlockCmd{ + BlockHash: blockHash, + } +} + // ReconsiderBlockCmd defines the reconsiderblock JSON-RPC command. type ReconsiderBlockCmd struct { BlockHash string @@ -743,6 +756,7 @@ func init() { MustRegisterCmd("help", (*HelpCmd)(nil), flags) MustRegisterCmd("invalidateblock", (*InvalidateBlockCmd)(nil), flags) MustRegisterCmd("ping", (*PingCmd)(nil), flags) + MustRegisterCmd("preciousblock", (*PreciousBlockCmd)(nil), flags) MustRegisterCmd("reconsiderblock", (*ReconsiderBlockCmd)(nil), flags) MustRegisterCmd("searchrawtransactions", (*SearchRawTransactionsCmd)(nil), flags) MustRegisterCmd("sendrawtransaction", (*SendRawTransactionCmd)(nil), flags) diff --git a/btcjson/chainsvrcmds_test.go b/btcjson/chainsvrcmds_test.go index a34d1047..fcfdc3b9 100644 --- a/btcjson/chainsvrcmds_test.go +++ b/btcjson/chainsvrcmds_test.go @@ -681,6 +681,19 @@ func TestChainSvrCmds(t *testing.T) { marshalled: `{"jsonrpc":"1.0","method":"ping","params":[],"id":1}`, unmarshalled: &btcjson.PingCmd{}, }, + { + name: "preciousblock", + newCmd: func() (interface{}, error) { + return btcjson.NewCmd("preciousblock", "0123") + }, + staticCmd: func() interface{} { + return btcjson.NewPreciousBlockCmd("0123") + }, + marshalled: `{"jsonrpc":"1.0","method":"preciousblock","params":["0123"],"id":1}`, + unmarshalled: &btcjson.PreciousBlockCmd{ + BlockHash: "0123", + }, + }, { name: "reconsiderblock", newCmd: func() (interface{}, error) { diff --git a/rpcserver.go b/rpcserver.go index 5ec19776..c1b20e50 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -230,6 +230,9 @@ var rpcUnimplemented = map[string]struct{}{ "getblockchaininfo": {}, "getchaintips": {}, "getnetworkinfo": {}, + "invalidateblock": {}, + "preciousblock": {}, + "reconsiderblock": {}, } // Commands that are available to a limited user