Fix sendrawtransaction for websockets.

This fixes two issues: first, the sendrawtransaction handler had an
extra character in the key in the websocket handler map, preventing
the handler from never running.  Second, a nil pointer dereference was
removed from the handler.

This change fixes the minedtx notifications for btcwallet, since the
websocket-handler now runs instead of falling back to the legacy RPC
handler.
This commit is contained in:
Josh Rickmar 2014-01-20 18:07:17 -05:00
parent f12ca20372
commit d3e4bcdcf5

View file

@ -41,7 +41,7 @@ var wsHandlers = map[string]wsCommandHandler{
"notifynewtxs": handleNotifyNewTXs, "notifynewtxs": handleNotifyNewTXs,
"notifyspent": handleNotifySpent, "notifyspent": handleNotifySpent,
"rescan": handleRescan, "rescan": handleRescan,
"sendrawtransaction:": handleWalletSendRawTransaction, "sendrawtransaction": handleWalletSendRawTransaction,
} }
// wsContext holds the items the RPC server needs to handle websocket // wsContext holds the items the RPC server needs to handle websocket
@ -492,15 +492,14 @@ func handleWalletSendRawTransaction(s *rpcServer, icmd btcjson.Cmd, c handlerCha
// TODO: the standard handlers really should be changed to // TODO: the standard handlers really should be changed to
// return btcjson.Errors which get used directly in the // return btcjson.Errors which get used directly in the
// response. Wouldn't need this crap here then. // response. Wouldn't need this crap here then.
var jsonErr *btcjson.Error if err != nil {
if jsonErr, ok := err.(*btcjson.Error); ok { if jsonErr, ok := err.(*btcjson.Error); ok {
return result, jsonErr return result, jsonErr
} }
jsonErr = &btcjson.Error{ jsonErr := &btcjson.Error{
Code: btcjson.ErrMisc.Code, Code: btcjson.ErrMisc.Code,
Message: err.Error(), Message: err.Error(),
} }
if err != nil {
return result, jsonErr return result, jsonErr
} }