Merge pull request #4508 from filecoin-project/fix/actor-not-found-mininig-base

MinerGetBaseInfo: if miner is not found in lookback, check current
This commit is contained in:
Łukasz Magiera 2020-10-22 19:45:43 +02:00 committed by GitHub
commit b2510e5fc5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -460,12 +460,21 @@ func MinerGetBaseInfo(ctx context.Context, sm *StateManager, bcs beacon.Schedule
return nil, xerrors.Errorf("getting lookback miner actor state: %w", err)
}
// TODO: load the state instead of computing it?
lbst, _, err := sm.TipSetState(ctx, lbts)
if err != nil {
return nil, err
}
act, err := sm.LoadActorRaw(ctx, maddr, lbst)
if xerrors.Is(err, types.ErrActorNotFound) {
_, err := sm.LoadActor(ctx, maddr, ts)
if err != nil {
return nil, xerrors.Errorf("loading miner in current state: %w", err)
}
return nil, nil
}
if err != nil {
return nil, xerrors.Errorf("failed to load miner actor: %w", err)
}