package state import "fmt" type ( ErrInvalidBlock error ErrProxyAppConn error ErrUnknownBlock struct { Height int64 } ErrBlockHashMismatch struct { CoreHash []byte AppHash []byte Height int64 } ErrAppBlockHeightTooHigh struct { CoreHeight int64 AppHeight int64 } ErrAppBlockHeightTooLow struct { AppHeight int64 StoreBase int64 } ErrLastStateMismatch struct { Height int64 Core []byte App []byte } ErrStateMismatch struct { Got *State Expected *State } ErrNoValSetForHeight struct { Height int64 Err error } ErrNoConsensusParamsForHeight struct { Height int64 } ErrNoABCIResponsesForHeight struct { Height int64 } ) func (e ErrUnknownBlock) Error() string { return fmt.Sprintf("could not find block #%d", e.Height) } func (e ErrBlockHashMismatch) Error() string { return fmt.Sprintf( "app block hash (%X) does not match core block hash (%X) for height %d", e.AppHash, e.CoreHash, e.Height, ) } func (e ErrAppBlockHeightTooHigh) Error() string { return fmt.Sprintf("app block height (%d) is higher than core (%d)", e.AppHeight, e.CoreHeight) } func (e ErrAppBlockHeightTooLow) Error() string { return fmt.Sprintf("app block height (%d) is too far below block store base (%d)", e.AppHeight, e.StoreBase) } func (e ErrLastStateMismatch) Error() string { return fmt.Sprintf( "latest tendermint block (%d) LastAppHash (%X) does not match app's AppHash (%X)", e.Height, e.Core, e.App, ) } func (e ErrStateMismatch) Error() string { return fmt.Sprintf( "state after replay does not match saved state. Got ----\n%v\nExpected ----\n%v\n", e.Got, e.Expected, ) } func (e ErrNoValSetForHeight) Error() string { if e.Err == nil { return fmt.Sprintf("could not find validator set for height #%d", e.Height) } return fmt.Sprintf("could not find validator set for height #%d: %s", e.Height, e.Err.Error()) } func (e ErrNoValSetForHeight) Unwrap() error { return e.Err } func (e ErrNoConsensusParamsForHeight) Error() string { return fmt.Sprintf("could not find consensus params for height #%d", e.Height) } func (e ErrNoABCIResponsesForHeight) Error() string { return fmt.Sprintf("could not find results for height #%d", e.Height) }