github.com/filecoin-project/specs-actors/v4@v4.0.2/actors/builtin/cron/testing.go (about) 1 package cron 2 3 import ( 4 "github.com/filecoin-project/go-address" 5 "github.com/filecoin-project/specs-actors/v4/actors/builtin" 6 "github.com/filecoin-project/specs-actors/v4/actors/util/adt" 7 ) 8 9 type StateSummary struct { 10 EntryCount int 11 } 12 13 // Checks internal invariants of cron state. 14 func CheckStateInvariants(st *State, store adt.Store) (*StateSummary, *builtin.MessageAccumulator) { 15 acc := &builtin.MessageAccumulator{} 16 cronSummary := &StateSummary{ 17 EntryCount: len(st.Entries), 18 } 19 for i, e := range st.Entries { 20 acc.Require(e.Receiver.Protocol() == address.ID, "entry %d receiver address %v must be ID protocol", i, e.Receiver) 21 acc.Require(e.MethodNum > 0, "entry %d has invalid method number %d", i, e.MethodNum) 22 } 23 return cronSummary, acc 24 }