Merge remote-tracking branch 'origin/master' into next

This commit is contained in:
Łukasz Magiera
2020-07-06 11:38:19 +02:00
30 changed files with 343 additions and 224 deletions
+24 -2
View File
@@ -362,9 +362,31 @@ func (a *StateAPI) StateWaitMsg(ctx context.Context, msg cid.Cid, confidence uin
return nil, err
}
var returndec interface{}
if recpt.ExitCode == 0 && len(recpt.Return) > 0 {
cmsg, err := a.Chain.GetCMessage(msg)
if err != nil {
return nil, xerrors.Errorf("failed to load message after successful receipt search: %w", err)
}
vmsg := cmsg.VMMessage()
t, err := stmgr.GetReturnType(ctx, a.StateManager, vmsg.To, vmsg.Method, ts)
if err != nil {
return nil, xerrors.Errorf("failed to get return type: %w", err)
}
if err := t.UnmarshalCBOR(bytes.NewReader(recpt.Return)); err != nil {
return nil, err
}
returndec = t
}
return &api.MsgLookup{
Receipt: *recpt,
TipSet: ts,
Receipt: *recpt,
ReturnDec: returndec,
TipSet: ts,
}, nil
}