diff --git a/core/chains/evm/client/errors.go b/core/chains/evm/client/errors.go index b03febbaedc..a2d67b939de 100644 --- a/core/chains/evm/client/errors.go +++ b/core/chains/evm/client/errors.go @@ -70,6 +70,8 @@ func (e *ClientErrors) ErrIs(err error, errorTypes ...int) bool { if err == nil { return false } + + cause := pkgerrors.Cause(err).Error() for _, errorType := range errorTypes { if _, ok := (*e)[errorType]; !ok { return false @@ -77,7 +79,7 @@ func (e *ClientErrors) ErrIs(err error, errorTypes ...int) bool { if (*e)[errorType].String() == "" { return false } - if (*e)[errorType].MatchString(pkgerrors.Cause(err).Error()) { + if (*e)[errorType].MatchString(cause) { return true } } @@ -253,7 +255,7 @@ var hederaFatal = regexp.MustCompile(`(: |^)(execution reverted)(:|$) | ^Transac var hedera = ClientErrors{ NonceTooLow: regexp.MustCompile(`Nonce too low`), NonceTooHigh: regexp.MustCompile(`Nonce too high`), - TerminallyUnderpriced: regexp.MustCompile(`Gas price '(\d+)' is below configured minimum gas price '(\d+)'`), + TerminallyUnderpriced: regexp.MustCompile(`(Gas price '(\d+)' is below configured minimum gas price '(\d+)')|(Gas price too low)`), InsufficientEth: regexp.MustCompile(`Insufficient funds for transfer| failed precheck with status INSUFFICIENT_PAYER_BALANCE`), Fatal: hederaFatal, }