Properly set reply.Result to output of unmarshalled GetTxOutResult JSON.
Fix panic caused by nil pointer dereference. Create new error type for invalid tx vout (gettxout).
This commit is contained in:
parent
8005d2e455
commit
033b00dd1c
2 changed files with 6 additions and 2 deletions
|
@ -148,6 +148,10 @@ var (
|
||||||
Code: -5,
|
Code: -5,
|
||||||
Message: "No information about newest block",
|
Message: "No information about newest block",
|
||||||
}
|
}
|
||||||
|
ErrInvalidTxVout = Error{
|
||||||
|
Code: -5,
|
||||||
|
Message: "Ouput index number (vout) does not exist for transaction.",
|
||||||
|
}
|
||||||
ErrRawTxString = Error{
|
ErrRawTxString = Error{
|
||||||
Code: -32602,
|
Code: -32602,
|
||||||
Message: "Raw tx is not a string",
|
Message: "Raw tx is not a string",
|
||||||
|
|
|
@ -607,11 +607,11 @@ func ReadResultCmd(cmd string, message []byte) (Reply, error) {
|
||||||
case "gettxout":
|
case "gettxout":
|
||||||
var res *GetTxOutResult
|
var res *GetTxOutResult
|
||||||
err = json.Unmarshal(objmap["result"], &res)
|
err = json.Unmarshal(objmap["result"], &res)
|
||||||
if err == nil {
|
if res != nil && err == nil {
|
||||||
if res.ScriptPubKey.Addresses == nil {
|
if res.ScriptPubKey.Addresses == nil {
|
||||||
res.ScriptPubKey.Addresses = []string{}
|
res.ScriptPubKey.Addresses = []string{}
|
||||||
}
|
}
|
||||||
result.Result = true
|
result.Result = res
|
||||||
}
|
}
|
||||||
case "getwork":
|
case "getwork":
|
||||||
// getwork can either return a JSON object or a boolean
|
// getwork can either return a JSON object or a boolean
|
||||||
|
|
Loading…
Reference in a new issue