github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/eventcheck/all.go (about) 1 package eventcheck 2 3 import ( 4 "github.com/unicornultrafoundation/go-u2u/eventcheck/basiccheck" 5 "github.com/unicornultrafoundation/go-u2u/eventcheck/epochcheck" 6 "github.com/unicornultrafoundation/go-u2u/eventcheck/gaspowercheck" 7 "github.com/unicornultrafoundation/go-u2u/eventcheck/heavycheck" 8 "github.com/unicornultrafoundation/go-u2u/eventcheck/parentscheck" 9 "github.com/unicornultrafoundation/go-u2u/native" 10 ) 11 12 // Checkers is collection of all the checkers 13 type Checkers struct { 14 Basiccheck *basiccheck.Checker 15 Epochcheck *epochcheck.Checker 16 Parentscheck *parentscheck.Checker 17 Gaspowercheck *gaspowercheck.Checker 18 Heavycheck *heavycheck.Checker 19 } 20 21 // Validate runs all the checks except Poset-related 22 func (v *Checkers) Validate(e native.EventPayloadI, parents native.EventIs) error { 23 if err := v.Basiccheck.Validate(e); err != nil { 24 return err 25 } 26 if err := v.Epochcheck.Validate(e); err != nil { 27 return err 28 } 29 if err := v.Parentscheck.Validate(e, parents); err != nil { 30 return err 31 } 32 var selfParent native.EventI 33 if e.SelfParent() != nil { 34 selfParent = parents[0] 35 } 36 if err := v.Gaspowercheck.Validate(e, selfParent); err != nil { 37 return err 38 } 39 if err := v.Heavycheck.ValidateEvent(e); err != nil { 40 return err 41 } 42 return nil 43 }