Cleaner fork logic in onSuccessfulPoSt2
This commit is contained in:
parent
0b8ae006d3
commit
b5d603dd46
@ -784,7 +784,10 @@ func (sma StorageMinerActor2) SubmitElectionPoSt(act *types.Actor, vmctx types.V
|
|||||||
}
|
}
|
||||||
|
|
||||||
func onSuccessfulPoSt2(self *StorageMinerActorState, vmctx types.VMContext, activeFaults uint64) aerrors.ActorError {
|
func onSuccessfulPoSt2(self *StorageMinerActorState, vmctx types.VMContext, activeFaults uint64) aerrors.ActorError {
|
||||||
// TODO: some sector upkeep stuff that is very haphazard and unclear in the spec
|
// FORK
|
||||||
|
if vmctx.BlockHeight() < build.ForkBootyBayHeight {
|
||||||
|
return onSuccessfulPoSt(self, vmctx, activeFaults)
|
||||||
|
}
|
||||||
|
|
||||||
var mi MinerInfo
|
var mi MinerInfo
|
||||||
if err := vmctx.Storage().Get(self.Info, &mi); err != nil {
|
if err := vmctx.Storage().Get(self.Info, &mi); err != nil {
|
||||||
@ -851,19 +854,9 @@ func onSuccessfulPoSt2(self *StorageMinerActorState, vmctx types.VMContext, acti
|
|||||||
var ncid cid.Cid
|
var ncid cid.Cid
|
||||||
var err aerrors.ActorError
|
var err aerrors.ActorError
|
||||||
|
|
||||||
// TODO: should be a non-fork fix here in the future
|
ncid, err = RemoveFromSectorSet2(vmctx.Context(), vmctx.Storage(), self.Sectors, faults)
|
||||||
// use the non-empty faults condition to make a minumum change here?
|
if err != nil {
|
||||||
if vmctx.BlockHeight() >= build.ForkBootyBayHeight && len(faults) > 0 {
|
return err
|
||||||
ncid, err = RemoveFromSectorSet2(vmctx.Context(), vmctx.Storage(), self.Sectors, faults)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
ncid, err = RemoveFromSectorSet(vmctx.Context(), vmctx.Storage(), self.Sectors, faults)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self.Sectors = ncid
|
self.Sectors = ncid
|
||||||
|
Loading…
Reference in New Issue
Block a user