package state import ( cmn "github.com/tendermint/tmlibs/common" ) type ( ErrInvalidBlock error ErrProxyAppConn error ErrUnknownBlock struct { Height int } ErrBlockHashMismatch struct { CoreHash []byte AppHash []byte Height int } ErrAppBlockHeightTooHigh struct { CoreHeight int AppHeight int } ErrLastStateMismatch struct { Height int Core []byte App []byte } ErrStateMismatch struct { Got *State Expected *State } ErrNoValSetForHeight struct { Height int } ) func (e ErrUnknownBlock) Error() string { return cmn.Fmt("Could not find block #%d", e.Height) } func (e ErrBlockHashMismatch) Error() string { return cmn.Fmt("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 cmn.Fmt("App block height (%d) is higher than core (%d)", e.AppHeight, e.CoreHeight) } func (e ErrLastStateMismatch) Error() string { return cmn.Fmt("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 cmn.Fmt("State after replay does not match saved state. Got ----\n%v\nExpected ----\n%v\n", e.Got, e.Expected) } func (e ErrNoValSetForHeight) Error() string { return cmn.Fmt("Could not find validator set for height #%d", e.Height) }