Skip to content

Commit

Permalink
made invalidate/reconsiderBlock return RPC errors
Browse files Browse the repository at this point in the history
  • Loading branch information
BrannonKing committed Dec 29, 2021
1 parent b9b89aa commit 51c48e0
Showing 1 changed file with 25 additions and 5 deletions.
30 changes: 25 additions & 5 deletions rpcserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -3012,10 +3012,20 @@ func handleInvalidateBlock(s *rpcServer, cmd interface{}, closeChan <-chan struc

hash, err := chainhash.NewHashFromStr(c.BlockHash)
if err != nil {
return nil, err
return nil, &btcjson.RPCError{
Code: btcjson.ErrRPCInvalidParameter,
Message: "Unable to parse hash: " + err.Error(),
}
}

return nil, s.cfg.Chain.InvalidateBlock(hash)
err = s.cfg.Chain.InvalidateBlock(hash)
if err != nil {
return nil, &btcjson.RPCError{
Code: btcjson.ErrRPCInternal.Code,
Message: "Unable to invalidate block: " + err.Error(),
}
}
return nil, nil
}

// handleReconsiderBlock implements the reconsiderblock command
Expand All @@ -3024,10 +3034,20 @@ func handleReconsiderBlock(s *rpcServer, cmd interface{}, closeChan <-chan struc

hash, err := chainhash.NewHashFromStr(c.BlockHash)
if err != nil {
return nil, err
return nil, &btcjson.RPCError{
Code: btcjson.ErrRPCInvalidParameter,
Message: "Unable to parse hash: " + err.Error(),
}
}

return nil, s.cfg.Chain.ReconsiderBlock(hash)
err = s.cfg.Chain.ReconsiderBlock(hash)
if err != nil {
return nil, &btcjson.RPCError{
Code: btcjson.ErrRPCInternal.Code,
Message: "Unable to reconsider block: " + err.Error(),
}
}
return nil, nil
}

// handleHelp implements the help command.
Expand Down Expand Up @@ -4303,7 +4323,7 @@ func (s *rpcServer) processRequest(request *btcjson.Request, isAdmin bool, close
} else {
jsonErr = &btcjson.RPCError{
Code: btcjson.ErrRPCInvalidRequest.Code,
Message: "Invalid request: malformed",
Message: "Invalid request: " + err.Error(),
}
}
}
Expand Down

0 comments on commit 51c48e0

Please sign in to comment.