diff --git a/chain/messagepool/messagepool.go b/chain/messagepool/messagepool.go index 6ec558ed2..8fa1b64a7 100644 --- a/chain/messagepool/messagepool.go +++ b/chain/messagepool/messagepool.go @@ -48,6 +48,8 @@ const RbfDenom = 256 var RepublishInterval = pubsub.TimeCacheDuration + time.Duration(5*build.BlockDelaySecs+build.PropagationDelaySecs)*time.Second +var minimumBaseFee = types.NewInt(build.MinimumBaseFee) + var ( ErrMessageTooBig = errors.New("message too big") @@ -55,6 +57,8 @@ var ( ErrNonceTooLow = errors.New("message nonce too low") + ErrGasFeeCapTooLow = errors.New("gas fee cap too low") + ErrNotEnoughFunds = errors.New("not enough funds to execute transaction") ErrInvalidToAddr = errors.New("message had invalid to address") @@ -349,6 +353,10 @@ func (mp *MessagePool) checkMessage(m *types.SignedMessage) error { return ErrMessageValueTooHigh } + if m.Message.GasFeeCap.LessThan(minimumBaseFee) { + return ErrGasFeeCapTooLow + } + if err := mp.VerifyMsgSig(m); err != nil { log.Warnf("signature verification failed: %s", err) return err