diff --git a/chain/actors/actor_miner.go b/chain/actors/actor_miner.go index 441baf485..f0b21d5a8 100644 --- a/chain/actors/actor_miner.go +++ b/chain/actors/actor_miner.go @@ -125,8 +125,8 @@ type maMethods struct { GetSectorSize uint64 UpdatePeerID uint64 ChangeWorker uint64 - IsLate uint64 - CheckMiner uint64 + IsLate uint64 + CheckMiner uint64 DeclareFaults uint64 SlashConsensusFault uint64 } diff --git a/chain/stmgr/stmgr.go b/chain/stmgr/stmgr.go index e827727e0..506cf1a54 100644 --- a/chain/stmgr/stmgr.go +++ b/chain/stmgr/stmgr.go @@ -187,6 +187,24 @@ func (sm *StateManager) computeTipSetState(ctx context.Context, blks []*types.Bl } } + // TODO: cron actor + ret, err := vmi.ApplyMessage(ctx, &types.Message{ + To: actors.StoragePowerAddress, + From: actors.StoragePowerAddress, + Nonce: blks[0].Height, + Value: types.NewInt(0), + GasPrice: types.NewInt(0), + GasLimit: types.NewInt(1 << 30), // Make super sure this is never too little + Method: actors.SPAMethods.CheckProofSubmissions, + Params: nil, + }) + if err != nil { + return cid.Undef, cid.Undef, err + } + if ret.ExitCode != 0 { + return cid.Undef, cid.Undef, xerrors.Errorf("CheckProofSubmissions exit was non-zero: %d", ret.ExitCode) + } + bs := amt.WrapBlockstore(sm.cs.Blockstore()) rectroot, err := amt.FromArray(bs, receipts) if err != nil {