Merge pull request #1042 from filecoin-project/feat/limit-seal-proof-lookback
Set hard limit on maximum randomness lookback for seal proof submissions
This commit is contained in:
commit
b7e35ae3ed
@ -56,6 +56,9 @@ const SealRandomnessLookback = Finality
|
|||||||
// Epochs
|
// Epochs
|
||||||
const SealRandomnessLookbackLimit = SealRandomnessLookback + 2000
|
const SealRandomnessLookbackLimit = SealRandomnessLookback + 2000
|
||||||
|
|
||||||
|
// Maximum lookback that randomness can be sourced from for a seal proof submission
|
||||||
|
const MaxSealLookback = SealRandomnessLookbackLimit + 2000
|
||||||
|
|
||||||
// /////
|
// /////
|
||||||
// Mining
|
// Mining
|
||||||
|
|
||||||
|
@ -321,6 +321,14 @@ func (sma StorageMinerActor) ProveCommitSector(act *types.Actor, vmctx types.VMC
|
|||||||
// TODO: ensure normalization to ID address
|
// TODO: ensure normalization to ID address
|
||||||
maddr := vmctx.Message().To
|
maddr := vmctx.Message().To
|
||||||
|
|
||||||
|
if vmctx.BlockHeight()-us.Info.SealEpoch > build.MaxSealLookback {
|
||||||
|
return nil, aerrors.Newf(5, "source randomness for sector SealEpoch too far in past (epoch %d)", us.Info.SealEpoch)
|
||||||
|
}
|
||||||
|
|
||||||
|
if vmctx.BlockHeight()-us.ReceivedEpoch > build.MaxSealLookback {
|
||||||
|
return nil, aerrors.Newf(6, "source randomness for sector ReceivedEpoch too far in past (epoch %d)", us.ReceivedEpoch)
|
||||||
|
}
|
||||||
|
|
||||||
ticket, err := vmctx.GetRandomness(us.Info.SealEpoch - build.SealRandomnessLookback)
|
ticket, err := vmctx.GetRandomness(us.Info.SealEpoch - build.SealRandomnessLookback)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, aerrors.Wrap(err, "failed to get ticket randomness")
|
return nil, aerrors.Wrap(err, "failed to get ticket randomness")
|
||||||
|
Loading…
Reference in New Issue
Block a user