github.com/evdatsion/aphelion-dpos-bft@v0.32.1/lite/errors/errors.go (about) 1 package errors 2 3 import ( 4 "fmt" 5 6 cmn "github.com/evdatsion/aphelion-dpos-bft/libs/common" 7 ) 8 9 //---------------------------------------- 10 // Error types 11 12 type errCommitNotFound struct{} 13 14 func (e errCommitNotFound) Error() string { 15 return "Commit not found by provider" 16 } 17 18 type errUnexpectedValidators struct { 19 got []byte 20 want []byte 21 } 22 23 func (e errUnexpectedValidators) Error() string { 24 return fmt.Sprintf("Validator set is different. Got %X want %X", 25 e.got, e.want) 26 } 27 28 type errUnknownValidators struct { 29 chainID string 30 height int64 31 } 32 33 func (e errUnknownValidators) Error() string { 34 return fmt.Sprintf("Validators are unknown or missing for chain %s and height %d", 35 e.chainID, e.height) 36 } 37 38 type errEmptyTree struct{} 39 40 func (e errEmptyTree) Error() string { 41 return "Tree is empty" 42 } 43 44 //---------------------------------------- 45 // Methods for above error types 46 47 //----------------- 48 // ErrCommitNotFound 49 50 // ErrCommitNotFound indicates that a the requested commit was not found. 51 func ErrCommitNotFound() error { 52 return cmn.ErrorWrap(errCommitNotFound{}, "") 53 } 54 55 func IsErrCommitNotFound(err error) bool { 56 if err_, ok := err.(cmn.Error); ok { 57 _, ok := err_.Data().(errCommitNotFound) 58 return ok 59 } 60 return false 61 } 62 63 //----------------- 64 // ErrUnexpectedValidators 65 66 // ErrUnexpectedValidators indicates a validator set mismatch. 67 func ErrUnexpectedValidators(got, want []byte) error { 68 return cmn.ErrorWrap(errUnexpectedValidators{ 69 got: got, 70 want: want, 71 }, "") 72 } 73 74 func IsErrUnexpectedValidators(err error) bool { 75 if err_, ok := err.(cmn.Error); ok { 76 _, ok := err_.Data().(errUnexpectedValidators) 77 return ok 78 } 79 return false 80 } 81 82 //----------------- 83 // ErrUnknownValidators 84 85 // ErrUnknownValidators indicates that some validator set was missing or unknown. 86 func ErrUnknownValidators(chainID string, height int64) error { 87 return cmn.ErrorWrap(errUnknownValidators{chainID, height}, "") 88 } 89 90 func IsErrUnknownValidators(err error) bool { 91 if err_, ok := err.(cmn.Error); ok { 92 _, ok := err_.Data().(errUnknownValidators) 93 return ok 94 } 95 return false 96 } 97 98 //----------------- 99 // ErrEmptyTree 100 101 func ErrEmptyTree() error { 102 return cmn.ErrorWrap(errEmptyTree{}, "") 103 } 104 105 func IsErrEmptyTree(err error) bool { 106 if err_, ok := err.(cmn.Error); ok { 107 _, ok := err_.Data().(errEmptyTree) 108 return ok 109 } 110 return false 111 }