- package types
-
- import (
- "crypto/sha256"
- "errors"
- "fmt"
- )
-
- // ErrTxInCache is returned to the client if we saw tx earlier
- var ErrTxInCache = errors.New("tx already exists in cache")
-
- // TxKey is the fixed length array key used as an index.
- type TxKey [sha256.Size]byte
-
- // ErrTxTooLarge defines an error when a transaction is too big to be sent in a
- // message to other peers.
- type ErrTxTooLarge struct {
- Max int
- Actual int
- }
-
- func (e ErrTxTooLarge) Error() string {
- return fmt.Sprintf("Tx too large. Max size is %d, but got %d", e.Max, e.Actual)
- }
-
- // ErrMempoolIsFull defines an error where Tendermint and the application cannot
- // handle that much load.
- type ErrMempoolIsFull struct {
- NumTxs int
- MaxTxs int
- TxsBytes int64
- MaxTxsBytes int64
- }
-
- func (e ErrMempoolIsFull) Error() string {
- return fmt.Sprintf(
- "mempool is full: number of txs %d (max: %d), total txs bytes %d (max: %d)",
- e.NumTxs,
- e.MaxTxs,
- e.TxsBytes,
- e.MaxTxsBytes,
- )
- }
-
- // ErrPreCheck defines an error where a transaction fails a pre-check.
- type ErrPreCheck struct {
- Reason error
- }
-
- func (e ErrPreCheck) Error() string {
- return e.Reason.Error()
- }
-
- // IsPreCheckError returns true if err is due to pre check failure.
- func IsPreCheckError(err error) bool {
- return errors.As(err, &ErrPreCheck{})
- }
|